2013-05-20 18 views
7

Ich habe Qt5 und Qt3d aus dem Ubuntu-Entwickler-Repository installiert (ich bin unter Ubuntu 13.04) und ich möchte eine sehr einfache Anwendung mit CMake kompilieren (meine Version ist 2.8.10.1). Ein Arbeits CMakeLists.txt für eine Qt Hello World ist die folgende:CMake mit Qt3d für Qt5?

cmake_minimum_required(VERSION 2.8.8) 

project(testproject) 

# Find includes in corresponding build directories 
set(CMAKE_INCLUDE_CURRENT_DIR ON) 
# Instruct CMake to run moc automatically when needed. 
set(CMAKE_AUTOMOC ON) 

# Find the QtWidgets library 
find_package(Qt5Widgets) 

# Tell CMake to create the helloworld executable 
add_executable(helloworld helloworld.cpp) 

# Use the Widgets module from Qt 5. 
qt5_use_modules(helloworld Widgets) 

Aber was die CMakeLists.txt eines grundlegenden Qt3d Programms wie in diesem Beispiel wäre: https://gitorious.org/wiki-sources/wiki-sources/trees/master/qt3d/glview

Antwort

7

Qt3d ist ein regelmäßiges Qt-Modul, genau wie Qt Widgets. So sollten Sie Qt3d zu Ihrem Projekt hinzufügen, wie Sie es für Widgets tun:

cmake_minimum_required(VERSION 2.8.8) 
project(testproject) 
set(CMAKE_INCLUDE_CURRENT_DIR ON) 
set(CMAKE_AUTOMOC ON) 
find_package(Qt5Widgets) 
find_package(Qt53D) 
add_executable(helloworld teapotview.cpp main.cpp) 
qt5_use_modules(helloworld Widgets 3D) 

ich dieses CMakeLists.txt mit Teekanne Beispiel getestet habe. Es ist verfügbar here. Beachten Sie, dass das von Ihnen gepostete Beispiel für Qt4 geschrieben wurde und nicht mit Qt5 funktioniert.

Ich habe Ubuntu 13.04 mit qt3d5-dev Paket im Haupt-Repository zur Verfügung.

+0

'Qt53D' scheint Profil-Suffixe zu haben, zum Beispiel' Qt53DCore' anstelle von 'Qt53D' – Smar