c++ - 无法使用 Qt 图表 - QT6 | 制作
问题描述
我正在使用带有 cmake 的 Qt 6.2.1,但我找不到使用 Qt Charts 的方法。
Qt Charts 安装在“C:\Qt\6.2.1\Src\qtcharts”下
在我的 cmakelists.txt 中,我将 Qt 图表包含在 find_package 和 target_link_libraries 中。这似乎适用于 qt5(在 StackOverflow 中的其他答案中找到),但不适用于 qt6。(我已经隐藏了项目源文件)
cmake_minimum_required(VERSION 3.5)
project(projectname VERSION 0.1 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_FLAGS_DEBUG "/MDd")
find_package(QT NAMES Qt6 COMPONENTS Widgets Charts REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Xml Widgets REQUIRED)
set(PROJECT_SOURCES
...
)
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
qt_add_executable(projectname
MANUAL_FINALIZATION
${PROJECT_SOURCES}
)
else()
add_executable(projectname
${PROJECT_SOURCES}
)
endif()
target_link_libraries(projectname PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Xml Qt6::Charts)
if(QT_VERSION_MAJOR EQUAL 6)
qt_finalize_executable(projectname)
endif()
我收到此错误:
C:\Qt\6.2.1\msvc2019_64\lib\cmake\Qt6Core\Qt6CoreMacros.cmake:559: error: Target "projectname" links to target "Qt6::Charts" but the target was not found. Perhaps a find_package() call is missing for an IMPORTED target, or an ALIAS target is missing? C:/Qt/6.2.1/msvc2019_64/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:523 (_qt_internal_create_executable) C:/Qt/6.2.1/msvc2019_64/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:847 (qt6_add_executable) CMakeLists.txt:78 (qt_add_executable)
解决方案
推荐阅读
- android - SliderLayout 总是拍错图片
- node.js - 在并发请求的情况下如何从请求中设置全局变量
- devexpress - Dx Extreme Html5 网格加载面板在分组后不会消失
- mysql - 我可以将内部查询用于内部查询以获取第 3 个最大或第 n 个最大 id 吗?
- django - 为什么我们在 Django 中扩展 HTTPResponse?
- php - 使用 smsgateway 结果对象
- mongodb - 项目查询中的 MongoDB SELECT REPLACE
- html - 在 html 中制作可滚动的文本字段?
- javascript - React - value of a variable not changing properly
- macos - HTC Vive / Oculus Rift 与 MacBook