2013-05-20 33 views
7

Tôi đã cài đặt Qt5 và Qt3d từ kho lưu trữ của nhà phát triển Ubuntu (tôi đang ở Ubuntu 13.04) và tôi muốn biên dịch một ứng dụng rất đơn giản với CMake (phiên bản của tôi là 2.8.10.1). Một CMakeLists.txt làm việc cho một helloworld Qt là như sau:CMake với Qt3d cho 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) 

Nhưng điều gì sẽ là CMakeLists.txt của một chương trình Qt3d cơ bản như ví dụ sau: https://gitorious.org/wiki-sources/wiki-sources/trees/master/qt3d/glview

Trả lời

7

Qt3d là một mô-đun Qt thường xuyên, giống như Tiện ích Qt. Vì vậy, bạn nên thêm Qt3d vào dự án của mình giống như bạn thực hiện đối với Tiện ích:

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) 

Tôi đã thử nghiệm CMakeLists.txt này với ví dụ Ấm trà. Nó có sẵn here. Lưu ý rằng ví dụ bạn đã đăng được viết cho Qt4 và sẽ không hoạt động với Qt5.

Tôi đã sử dụng Ubuntu 13.04 với gói qt3d5-dev có sẵn trong kho lưu trữ chính.

+0

'Qt53D' dường như muốn có hậu tố tiểu sử, ví dụ:' Qt53DCore' thay vì 'Qt53D' – Smar