Qt6.2.1配合CMake使用Qt Charts出现目标未找到报错
错误原因
你的配置存在两处核心问题:
- Qt 6.2.1的msvc2019_64编译套件未安装Qt Charts预编译二进制文件,你当前仅下载了Qt Charts源码,CMake无法直接识别源码路径下的库目标
- CMakeLists.txt配置存在疏漏:第二次调用
find_package查找Qt主组件时未添加Charts组件,且链接库时硬编码了Qt6前缀,通用性不足
解决步骤
步骤1:安装对应套件的Qt Charts预编译包
打开Qt Maintenance Tool,在已安装的Qt 6.2.1分支下找到msvc2019_64组件,勾选「Qt Charts」完成安装。安装完成后确认C:\Qt\6.2.1\msvc2019_64\lib\cmake\Qt6Charts目录存在。
步骤2:修正CMakeLists.txt配置
- 调整
find_package配置,给第二个查找语句补上Charts组件:
# 修改前 find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Xml Widgets REQUIRED) # 修改后 find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Xml Widgets Charts REQUIRED)
- 调整链接库写法,替换硬编码的Qt6::Charts为通用版本:
# 修改前 target_link_libraries(projectname PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Xml Qt6::Charts) # 修改后 target_link_libraries(projectname PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Xml Qt${QT_VERSION_MAJOR}::Charts )
步骤3:重新生成构建项目
清空之前生成的构建缓存文件夹,重新运行CMake生成项目并编译即可。
可选:手动编译Qt Charts源码
如果你坚持使用已下载的源码编译,可打开对应版本的Qt命令行工具,进入C:\Qt\6.2.1\Src\qtcharts目录,依次执行以下命令:
qmake nmake nmake install
编译完成后再执行步骤2、3即可。
内容的提问来源于stack exchange,提问作者Bruno Serpa
相关产品推荐
相关产品推荐

