2013-05-20 16 views
7

Zainstalowałem Qt5 i Qt3d z repozytorium ubuntu-developerów (jestem pod Ubuntu 13.04) i chciałbym skompilować bardzo prostą aplikację z CMake (moja wersja to 2.8.10.1). CMakeLists.txt pracy dla HelloWorld Qt jest następujący:CMake z Qt3d dla 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) 

Ale co byłoby CMakeLists.txt podstawowego programu Qt3d jak w poniższym przykładzie: https://gitorious.org/wiki-sources/wiki-sources/trees/master/qt3d/glview

Odpowiedz

7

Qt3d jest zwykłym moduł Qt, podobnie jak widżety Qt. Należy więc dodać Qt3d do projektu, tak jak robisz to dla widżetów:

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) 

Przetestowałem ten CMakeLists.txt z Czajniczek przykład. Jest dostępny here. Zauważ, że wysłany przez Ciebie przykład został napisany dla Qt4 i nie działa z Qt5.

Użyłem pakietu Ubuntu 13.04 z pakietem qt3d5-dev dostępnym w głównym repozytorium.

+0

'Qt53D' wydaje się chcieć sufiksów profilu, na przykład' Qt53DCore' zamiast 'Qt53D' – Smar