On 03/02/2012 02:48 PM, NoRulez wrote: > Hello, > > I use Qt 4.8.0 from the QtSDK and Iwant to generate a static qt plugin. > In my main.cpp I have the following: > > > #include<QApplication> > #include<QtPlugin> > > Q_IMPORT_PLUGIN(Local) > > intmain(intargc,char*argv[]){ > QApplicationapp(argc,argv); > > . > . > . > return app.exec(); > > } > > The corresponding CMakeLists.txt for the LocalPlugin looks like the following: > > SET(LOCALPLUGIN_HEADERS > > LocalPlugin.h > > ) > > SET(LOCALPLUGIN_SOURCES > > LocalPlugin.cpp > > ) > > > SET(QT_USE_QTGUITRUE) > SET(QT_USE_QTPLUGINTRUE) > > QT4_AUTOMOC(${LOCALPLUGIN_SOURCES}) > QT4_WRAP_CPP(LOCALPLUGIN_MOC${LOCALPLUGIN_HEADERS}) > > ADD_LIBRARY(Local STATIC ${LOCALPLUGIN_HEADERS} ${LOCALPLUGIN_SOURCES} > ${LOCALPLUGIN_MOC}) > > TARGET_LINK_LIBRARIES(Local ${QT_LIBRARIES}) > > > The corresponding CMakeLists.txt for the main app looks like the following: > > SET(QT_USE_QTMAINTRUE) > > SET(QT_USE_QTGUI TRUE) > > ADD_EXECUTABLE(MyApp WIN32 ${APP_SOURCES} ${APP_RCC} MyApp.rc) > TARGET_LINK_LIBRARIES(MyAppLocal ${QT_LIBRARIES}) > > When I compile it I get the following error: > In function `StaticLocalPluginInstance': undefined reference to > `qt_plugin_instance_Local()' > > Please, could anybody help me to get it working?
Did you INCLUDE(${QT_USE_FILE}) in the correct place, i.e. after setting the QT_USE_QT* variables? QT_LIBRARIES is populated in that file. Moreover, the lines SET(QT_USE_QTGUITRUE) SET(QT_USE_QTMAINTRUE) SET(QT_USE_QTPLUGINTRUE) QT4_WRAP_CPP(LOCALPLUGIN_MOC${LOCALPLUGIN_HEADERS}) are obviously missing blanks - just typos in your report? Regards, Michael -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake