我已经从ubuntu-developers存储库中安装了Qt5和Qt3d(我在Ubuntu 13.04下),我想用CMake编译一个非常简单的应用程序(我的版本是2.8.10.1)。 Qt helloworld的有效CMakeLists.txt如下:

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)

但是,像下面的示例一样,基本Qt3d程序的CMakeLists.txt是什么:
https://gitorious.org/wiki-sources/wiki-sources/trees/master/qt3d/glview

最佳答案

Qt3d是常规的Qt模块,就像Qt Widgets一样。因此,您应该像对Widget一样将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)

我已经使用Teapot示例测试了此CMakeLists.txt。可以使用here。请注意,您发布的示例是为Qt4编写的,不适用于Qt5。

我已经在主存储库中使用了带有qt3d5-dev包的Ubuntu 13.04。

10-06 14:41