[Qt-interest] .lib for dll not created (msvc)

Matthias Pospiech matthias.pospiech at gmx.de
Mon Jul 12 13:00:02 CEST 2010


I have a project which compiles fine with mingw and also creates an .a file.
However with msvc-2005, the same qmake code does not produce a .lib file,
which I do not understand. Here is the qmake code:

SMXCamera.pro
--------->
TEMPLATE = subdirs
SUBDIRS = src
CONFIG += ordered recursive
<---------

src.pro
--------->
TEMPLATE = lib

CONFIG += qt
CONFIG += warn_on
CONFIG += thread
CONFIG += dll

LIBRARY_NAME = QCameraSMX
TARGET = $${LIBRARY_NAME}

CONFIG += debug
CONFIG -= release

CONFIG += CameraSMXDll

DEFINES += QT_DLL SMXCAMERA_DLL

LIBRARYPATH2 = E:/Daten/Dev/SVN/library/
INCLUDEPATH += $${LIBRARYPATH2}include/Sumix/SMX150/

DEFINES += SMXCAMERA_MAKEDLL


INCLUDEPATH += ../include/ \
    $${UI_DIR}
SOURCEPATH = .

HEADERS += $${SOURCEPATH}/QCameraSMXGlobal.h \
    $${SOURCEPATH}/QCameraSMX150.h \

SOURCES += $${SOURCEPATH}/QCameraSMX150.cpp
<---------

and some the code is the following:
--------->
#ifndef QCAMERASMX_GLOBAL_H
#define QCAMERASMX_GLOBAL_H

#if defined(Q_WS_WIN)

#ifdef SMXCAMERA_DLL

#if defined(SMXCAMERA_NODLL)     // Do not create a DLL library
    #define QSMXCAMERA_EXPORT
#else
    #if defined(SMXCAMERA_MAKEDLL) // create a DLL library
        #define QSMXCAMERA_EXPORT  __declspec(dllexport)
    #else                           // use a DLL library
        #define QSMXCAMERA_EXPORT  __declspec(dllimport)
    #endif
#endif

#endif // SMXCAMERA_DLL

#endif // Q_WS_WIN

#ifndef QSMXCAMERA_EXPORT
#define QSMXCAMERA_EXPORT
#endif

#endif // QCAMERASMX_GLOBAL_H
<---------

--------->
#ifndef CAMERA_SMX_H_
#define CAMERA_SMX_H_

#include "QCameraSMXGlobal.h"

...

////////////////////////////////////////////////////////////////////////
class QSMXCAMERA_EXPORT QCameraSMX : public QObject
{
    Q_OBJECT;
public:
    QCameraSMX(QObject *parent = 0);
    ~QCameraSMX(void);
...
<---------

Any idea what is missing?

Matthias



More information about the Qt-interest-old mailing list