CMake:包括外部库头

时间:2019-06-24 13:41:40

标签: c++ qt cmake

我有这个代码段,它工作正常:

find_package(Qt5 COMPONENTS Core REQUIRED)
target_link_libraries( myproj Qt5::Core )
target_include_directories( myproj PRIVATE ${Qt5Core_INCLUDE_DIRS} )

因为我要使用Qwt。现在,我运行find_library( LIB_qwt qwt )并轻松到达.so的路径。但是,如何获取标头路径并将其添加到target_include_directories()

我真的还需要手动添加Qt吗?如果我不这样做(但是我以一种丑陋的方式包含了Qwt文件),则Qwt的头文件会因为没有发现Qt而破坏了编译。

这是我的Qwt安装:libqwt-qt5-dev

1 个答案:

答案 0 :(得分:1)

您应该可以在${LIB_qwt_INCLUDE_DIR}之后将${QWT_INCLUDE_DIR}target_include_directories添加到find_library( LIB_qwt qwt )。您必须手动添加Qt。

如果这样不起作用,您可以自己搜索路径,可以像这样使用find_path

find_path(QWT_INCLUDE_DIR qwt.h)
target_include_directories( myproj PRIVATE ${Qt5Core_INCLUDE_DIRS} ${QWT_INCLUDE_DIR})

qwt.h显然必须在路径上。