Hallo zusammen,
im Moment arbeite ich an einem Projekt mit cmake.
Gerade inkludiere ich Qt-Klassen mit
#include <QtCore/QString>
Ich würde aber gerne auf das QtCore verzichten können.
also #include <QString>
Das funktioniert aber in meiner jetzigen Konfiguration leider nicht.
Vielleicht kann mir jemand sagen, was ich in CMakeLists.txt ändern muss um den gewünschten Effekt zu erzielen.
Danke
jerry42
Zur Zeit sieht der Abschnitt so aus:
# Qt
FIND_PACKAGE( Qt4 REQUIRED )
IF( QT4_FOUND )
SET( HAVE_Qt4 1 )
SET( QT_USE_QTOPENGL TRUE )
SET( QT_USE_QTTEST TRUE )
INCLUDE( ${QT_USE_FILE} )
INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} )
LIST( APPEND requiredLibs ${QT_LIBRARIES} )
ENDIF( QT4_FOUND )
#include ohne Qt Modul mit cmake
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Die CMakeLists.txt sieht nicht gerade sauber aus... Siehe Doku in FindQt4.cmake:
# Typical usage could be something like:
# find_package(Qt4 4.4.3 COMPONENTS QtCore QtGui QtXml REQUIRED )
# include(${QT_USE_FILE})
# add_executable(myexe main.cpp)
# target_link_libraries(myexe ${QT_LIBRARIES})
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
danke für die antwort.
bin leider kein cmake experte.
#include <QtCore/QString>
funktioniert leider noch immer nicht.
Meine Version sieht nun wie folgt aus:
find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL REQUIRED )
INCLUDE( ${QT_USE_FILE} )
LIST( APPEND requiredLibs ${QT_LIBRARIES} )
Dieser Teil befindet sich in ./src/CMakeLists.txt
in ./CMakeLists.txt kommt dann folgendes:
ADD_DEFINITIONS(${QT_DEFINITIONS})
# Create build files.
ADD_EXECUTABLE(./bin/Program
${Program_SRCS_global}
${Program_MOC_SRCS}
${Program_UI_HDRS})
# Link against requiredLibs and optionalLibs.
TARGET_LINK_LIBRARIES( ./bin/Program ${requiredLibs} ${optionalLibs} )
bin leider kein cmake experte.
#include <QtCore/QString>
funktioniert leider noch immer nicht.
Meine Version sieht nun wie folgt aus:
find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL REQUIRED )
INCLUDE( ${QT_USE_FILE} )
LIST( APPEND requiredLibs ${QT_LIBRARIES} )
Dieser Teil befindet sich in ./src/CMakeLists.txt
in ./CMakeLists.txt kommt dann folgendes:
ADD_DEFINITIONS(${QT_DEFINITIONS})
# Create build files.
ADD_EXECUTABLE(./bin/Program
${Program_SRCS_global}
${Program_MOC_SRCS}
${Program_UI_HDRS})
# Link against requiredLibs and optionalLibs.
TARGET_LINK_LIBRARIES( ./bin/Program ${requiredLibs} ${optionalLibs} )
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Das Beispiel so wie es oben beschrieben ist funktioniert bei mir:
Code: Alles auswählen
find_package(Qt4 4.4.3 COMPONENTS QtCore QtGui QtXml REQUIRED )
include(${QT_USE_FILE})
add_executable(myexe main.cpp)
target_link_libraries(myexe ${QT_LIBRARIES})
--> Compiler-Ausgabe:
/usr/local/bin/c++ -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include/QtCore -o CMakeFiles/myexe.dir/main.o -c /home/ehrlicher_c/tmp/cmake/main.cpp
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten: