2013-05-20 3 views
7

Я установил Qt5 и Qt3d из репозитория ubuntu-разработчиков (я под Ubuntu 13.04), и я хотел бы скомпилировать очень простое приложение с CMake (моя версия 2.8.10.1). Работающий CMakeLists.txt для HelloWorld Qt следующая:CMake с Qt3d для 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) 

Но что было бы CMakeLists.txt базовой программы Qt3d как в этом примере: https://gitorious.org/wiki-sources/wiki-sources/trees/master/qt3d/glview

ответ

7

Qt3d является регулярным Qt модуля, как и Qt Widgets. Таким образом, вы должны добавить Qt3d в свой проект так же, как вы это делаете для виджетов:

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) 

Я проверил это CMakeLists.txt с чайником примера. Он доступен here. Обратите внимание, что пример, который вы опубликовали, был написан для Qt4 и не будет работать с Qt5.

Я использовал Ubuntu 13.04 с пакетом qt3d5-dev, имеющимся в основном хранилище.

+0

'Qt53D', похоже, нуждается в суффиксах профиля, например' Qt53DCore' вместо 'Qt53D' – Smar

Смежные вопросы