在Qt CMake项目中找不到QCursor



我正试图在Linux上用Qt构建一个应用程序,在那里我可以设置光标位置。该项目由CMake管理。

CMakeLists.txt:

cmake_minimum_required(VERSION 2.8.4)
project(Project)
add_definitions(-std=gnu++14 -std=c++14 -Wall -Wextra)
set(CMAKE_PREFIX_PATH "/home/elmewo/Libraries/Qt/5.3/gcc_64")
set(CMAKE_AUTOMOC ON)
find_package(Qt5Core REQUIRED)
find_package(Qt5Quick REQUIRED)
find_package(Qt5Gui REQUIRED)
include_directories(${CMAKE_SOURCE_DIR}/src)
set(SOURCE_FILES src/main.cpp)
add_executable(Project ${SOURCE_FILES})
qt5_use_modules(Project Core Quick Gui)

这些包由CMake找到。但当我尝试时

#include <QCursor>

我的编译器说

fatal error: QCursor: file or directory not found

我能够在同一台机器上编译另一个基本的QGuiApplication。

QCursor文件位于${CMAKE_PREFIX_PATH}/include/QtGui中。

我是不是错过了什么?

您似乎依赖2.8.4,所以至少您需要在此基础上更改构建规则,或者您需要将依赖关系升级到至少cmake 2.8.9:版本

将Qt 5与2.8.9 之前的CMake一起使用

如果使用2.8.9之前的CMake,则qt5_use_modules宏不可用。尝试使用它将导致错误。

要将Qt 5与2.8.9之前的CMake版本一起使用,需要使用target_link_libraries、include_directions和add_definitions命令,并使用qt5_generate_moc或qt5_wrap_cpp:手动指定moc要求

因此,如果你坚持使用旧的cmake:,请添加这些

# Add the include directories for the Qt 5 Widgets module to
# the compile lines.
include_directories(${Qt5Core_INCLUDE_DIRS} ${Qt5Gui_INCLUDE_DIRS} ${Qt5Quick_INCLUDE_DIRS})
#Link the helloworld executable to the Qt 5 widgets library.
target_link_libraries(helloworld Qt5::Core Qt5::Gui Qt5::Quick)

相关内容

  • 没有找到相关文章

最新更新