ich arbeite unter Windows mit dem VS2008 und qt-4.6.3 und bin dabei mein Projekt auf CMake umzustellen. In diesem Projekt gibt es ein Hauptprogramm und mehrere qt-Plugins, die duch das Hauptprogramm geladen werden. Der Header, der das Interface für die Plugins beschreibt, befindet sich im Verzeichnis des Hauptprogramms. Hier mal beispielhaft das CMakeLists.txt. In common werden lediglich ein paar Pfade und Variablen gesetzt.
Code: Alles auswählen
project(Test_Plugin)
cmake_minimum_required(VERSION 2.8)
set(CMAKE_MODULE_PATH $ENV{WORKSPACE}/$ENV{CMAKE_DIR})
include(common)
find_package(Qt4)
SET(QT_USE_QTDESIGNER ON)
include(${QT_USE_FILE})
set(MOCS
${WORKSPACE}/$ENV{PROGRAM_DIR}/includes/my_plugin_interface.h
includes/test_plugin.h
)
set(Test_PluginHdrs
${MOCS}
)
set(Test_PluginSrcs
sources/test_plugin.cpp
)
QT4_WRAP_CPP(MOCS_SRCS ${MOCS})
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/includes
)
add_library(Test_Plugin SHARED
${Test_PluginSrcs}
${MOCS_SRCS}
${Test_PluginHdrs}
)
target_link_libraries(Test_Plugin
${QT_LIBRARIES}
)
install(TARGETS Test_Plugin DESTINATION lib)... Error: Undefined interface
1>Project : error PRJ0019: Ein Tool hat einen Fehlercode aus folgender Quelle zurückgegeben: "Generating includes/moc_test_plugin.cxx"
Weiß jemand Rat?
Danke und schon mal viele Grüße
Mario
Edit:
Im Übrigen hat es grundsätzlich schon mal alles funktioniert, nur ohne CMake halt!