qt-interest@trolltech.com
[Top] [All Lists]

Re: [Qt-interest] Linker Error I do not understand

Subject: Re: [Qt-interest] Linker Error I do not understand
From: Jason H
Date: Mon, 21 Jun 2010 14:07:43 -0700 PDT
I think this would suggest that the library source is newer than the 
compilation.

Can you recompile the library and see if you still get it?

Also, maybe use objdump?



----- Original Message ----
From: Matthias Pospiech <matthias.pospiech@xxxxxx>
To: Jason H <scorp1us@xxxxxxxxx>; "qt-interest@xxxxxxxxxxxxx >> qtInterest 
Interest" <qt-interest@xxxxxxxxxxxxx>
Sent: Mon, June 21, 2010 5:01:14 PM
Subject: Re: [Qt-interest] Linker Error I do not understand

Jason H schrieb:
> Either that class is not in that library, or those functions aren't in the 
> library. Sure, you have the .h, which specifies the signature, but when it 
> looked at the library it wasn't there.
> 
> Either update your library to cinlcude that class, or link in the QCW class's 
> library.
>  
Well, if I add the whole dll classes to the example project it compiles and 
links. So the code itsself should be ok.

The dll also includes the files, as can be seen in the src.pro

contains(CONFIG, uEyeCameraDll):CONFIG += dll
else:CONFIG += staticlib
win32:uEyeCameraDll:DEFINES += UEYECAMERA_MAKEDLL

HEADERS += $${SOURCEPATH}/QCameraGlobal.h \
   $${SOURCEPATH}/QuEyeCamera.h \
   $${SOURCEPATH}/QRgbMatrix.h \
   $${SOURCEPATH}/QCameraWidget.h
SOURCES += $${SOURCEPATH}/QuEyeCamera.cpp \
   $${SOURCEPATH}/QRgbMatrix.cpp \
   $${SOURCEPATH}/QCameraWidget.cpp


the classes are all defined with

class QCAMERA_EXPORT QCameraWidget : public QWidget
{
public:
...

where QCAMERA_EXPORT is defined as: __declspec(dllexport), using this code:

#if defined(UEYECAMERA_NODLL)     // Do not create a DLL library
   #define QCAMERA_EXPORT
#else
   #if defined(UEYECAMERA_MAKEDLL) // create a DLL library
       #define QCAMERA_EXPORT  __declspec(dllexport)
   #else                           // use a DLL library
       #define QCAMERA_EXPORT  __declspec(dllimport)
   #endif
#endif

So from this I do not see why the class should not be part of the dll.


      

_______________________________________________
Qt-interest mailing list
Qt-interest@xxxxxxxxxxxxx
http://lists.trolltech.com/mailman/listinfo/qt-interest

<Prev in Thread] Current Thread [Next in Thread>