我有这个代码段,它工作正常:
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
。
答案 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
显然必须在路径上。