2013-05-20 16 views
7

Ho installato Qt5 e Qt3d dal repository ubuntu-developers (sono su Ubuntu 13.04) e vorrei compilare un'applicazione molto semplice con CMake (la mia versione è 2.8.10.1). Un CMakeLists.txt lavorare per un HelloWorld Qt è la seguente:CMake con Qt3d per 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) 

Ma quale sarebbe il CMakeLists.txt di un programma di base Qt3d come in questo esempio: https://gitorious.org/wiki-sources/wiki-sources/trees/master/qt3d/glview

risposta

7

Qt3d è un modulo Qt regolare, proprio come Qt Widgets. Quindi si dovrebbe aggiungere Qt3d al progetto proprio come si fa per Widget:

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) 

Ho provato questo CMakeLists.txt con la teiera esempio. È disponibile here. Nota che l'esempio che hai pubblicato è stato scritto per Qt4 e non funzionerà con Qt5.

Ho usato Ubuntu 13.04 con il pacchetto qt3d5-dev disponibile nel repository principale.

+0

'Qt53D' sembra voler i suffissi del profilo, ad esempio' Qt53DCore' invece di 'Qt53D' – Smar