使用CMake构建QCustomPlot

因为原项目是使用CMake构建的,而且包含其他非标准库,同时并没有系统性学习CMake,还有Qt使用的QMake
现在需要在原项目的基础上加上实时绘制曲线图,以方便查看数据和调试
那么最好的办法就是CMake里写入QCustomPlot所需要的东西,不用为了改为QMake改变很多东西

以CMake建立Qt项目,导入qcustomplot.cpp qcustomplot.h,错误信息如下
image-202212292205950

这些报错是由于缺失有关printsupport的库

在官方文档中,Qt5.0+版本需要加上

greaterThan(QT_MAJOR_VERSION, 4) : QT += widgets printsupport

那么用CMake怎么样加上有关printsupport的库?
搜索文档printsupport
image-202212292211554

观察自动生成的CMakeList.txt里有两行引起了我的注意

find_package(Qt5 COMPONENTS Widgets REQUIRED)
...
target_link_libraries(RealtimeCurve PRIVATE Qt5::Widgets)

可以仿照此,尝试加写两行

find_package(Qt5 COMPONENTS Widgets REQUIRED)
find_package(Qt5 COMPONENTS PrintSupport REQUIRED)
...
target_link_libraries(RealtimeCurve PRIVATE Qt5::Widgets)
target_link_libraries(RealtimeCurve PRIVATE Qt5::PrintSupport)

构建,尝试成功
images-202212292214684

总的来说,只需在CMakeList.txt加上两句即可

find_package(Qt5 COMPONENTS PrintSupport REQUIRED)
target_link_libraries(RealtimeCurve PRIVATE Qt5::PrintSupport)
posted @ 2022-12-29 22:16  Champrin  阅读(658)  评论(0编辑  收藏  举报