CMake文件找不到Qt图表模块

qv7cva1a  于 2022-12-04  发布在  其他
关注(0)|答案(3)|浏览(1268)

我尝试在JetBrains的Clion中开始写Qt项目,但我需要先在Cmake文件中链接一些库。当我尝试查找像Qt5Core、Qt5Widgets、Qt5Gui这样的包时没有问题,但当它开始查找Qt5Charts时,会抛出一个错误:
由于未在CMAKE_MODULE_PATH中提供“FindQt5Charts.cmake”,此项目已要求CMake查找由“Qt5Charts”提供的软件包配置文件,但CMake未找到。
找不到由“Qt5Charts”提供的具有以下任何名称的软件包配置文件:

Qt5ChartsConfig.cmake
qt5charts-config.cmake

将安装前缀“Qt5Charts”添加到CMAKE_PREFIX_PATH中,或将“Qt5Charts_DIR”设置为包含上述文件之一的目录。如果“Qt5Charts”提供单独的开发包或SDK,请确保已安装该软件包或SDK。
This is my CMake file right now.
所有的软件包都是通过Qt的Linux(ubuntu)维护工具安装的。有什么想法可以帮助Cmake找到Charts模块吗?

chy5wohz

chy5wohz1#

使用以下方法,看看是否有帮助:
sudo apt安装libqt 5图表5-dev
来源:https://stackoverflow.com/a/46765025

vcudknz3

vcudknz32#

通常,当在项目中包含Qt5时,我使用CMake的以下基本脚本,尽管我应该注意我没有在Linux上测试过。

cmake_minimum_required(VERSION 3.10.0 FATAL_ERROR)
project(<YOUR_PROJECT_NAME>)

find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets Charts)

# set your project sources and headers
set(project_sources src/blah.cpp)
set(project_headers include/headers/blah.h)

# wrap your qt based classes with qmoc
qt5_wrap_cpp(project_source_moc ${project_headers})

# add your build target
add_executable(${PROJECT_NAME} ${project_sources} ${project_headers} ${project_source_moc})

# link to Qt5
target_link_libraries(${PROJECT_NAME}
    PUBLIC
    Qt5::Core
    Qt5::Gui
    Qt5::Widgets
    Qt5::Charts)

# require C++ 14
target_compile_features(${PROJECT_NAME} PUBLIC cxx_std_14)

通过cmake配置项目时,只需传入包含Qt5Config.cmake文件的qt5安装目录(cmake变量名为Qt5_DIR)的路径,然后cmake应该能够找到您请求的其余组件。
还要仔细检查是否安装了Qt5Charts,不确定它是否是默认安装的。

ndasle7k

ndasle7k3#

要不试试这个?

sudo apt install libqt5charts5-dev

相关问题