簡體   English   中英

在Qt CMake項目中找不到QCursor

[英]Cannot find QCursor in Qt CMake Project

我正在嘗試使用Qt在Linux上構建應用程序,在該應用程序中可以設置光標位置。 該項目由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版本:

在QCM 5.2.8之前的版本中使用Qt 5

如果使用早於2.8.9的CMake,則qt5_use_modules宏不可用。 嘗試使用它會導致錯誤。

要將Qt 5與早於2.8.9的CMake版本一起使用,必須使用target_link_libraries,include_directories和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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM