使用cmake构建QTCharts

4

我目前正在一个使用Qt5Charts的Linux平台项目上工作。系统默认安装有Qt5.5,而我已经在我的主目录下安装了Qt5.8。

为了构建这个项目,我使用了cmake。我的Cmakefile大致如下:

find_package(Qt5Widgets)
set(CMAKE_AUTOMOC ON)
    if(Qt5Widgets_FOUND)
        set( QT_INCLUDE_DIR
            ${Qt5Widgets_INCLUDE_DIRS}
        )
        include_directories( ${QT_INCLUDE_DIR} )
        set (LIBS ${LIBS} ${Qt5Widgets_LIBRARIES} )
    endif()

find_package(Qt5Charts)
    if(Qt5Charts_FOUND)
        set( QT_INCLUDE_DIR
            ${Qt5Charts_INCLUDE_DIRS}
        )
        include_directories( ${QT_INCLUDE_DIR} )
        set (LIBS ${LIBS} ${Qt5Charts_LIBRARIES} )
    endif() 

但是cmake无法找到Qt5Charts,因为它仅适用于Qt5.8。而Qt5Widgets成功找到,因为它也在Qt5.5中可用。

对于Qt5Charts,它说

找不到由"Qt5Charts"提供的软件包配置文件,其中任何一个都有以下名称: Qt5ChartsConfig.cmake qt5charts-config.cmake

是否有一种方法可以告诉cmake查找Qt5.8的软件包而不是Qt5.5的软件包?或者是否有一种指定默认查找路径的方法?

Qt/5.8/gcc_64/lib/cmake是5.8 cmakeFiles 的位置 /usr/lib/x86_64-linux-gnu/cmake 是 5.5的位置

1个回答

4
如果你使用apt-get或者yum或者dnf或者其他包管理器安装了Qt,那么你需要单独安装Charts。我在Fedora中使用Qt 5.8时也遇到过这个问题。安装qt5-qtcharts-devel就可以解决这个问题。
sudo dnf install qt5-qtcharts-devel

对于基于Debian的发行版和其他发行版,软件包名称可能不同。

但是在我的Mac上,我使用brew安装了qt5,它会安装包括charts在内的所有内容。


2
这对于基于Debian / Ubuntu的发行版来说将是 sudo apt install libqt5charts5-dev - Pierre Thalamy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接