2017-05-21 345 views
2

我目前正在研究一个在Linux平台中使用Qt5Charts的项目。默认情况下,系统中有qt5.5。我在我的主目录中安装了qt5.8。使用cmake构建QTCharts

要构建我正在使用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的是cmakeFiles的5.8 /usr/lib目录/ x86_64的-Linux的GNU/cmake的5.5

回答

0

位置如果您有apt-get Qt安装或yumdnf或任何其他软件包管理器,则需要分别安装Charts。我在使用QT 5.8的Fedora中遇到了同样的情况。安装qt5-qtcharts-devel解决了这个问题。

sudo dnf install qt5-qtcharts-devel 

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

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