我有一个由多个共享库构建的C++项目。每个库源代码都放在其目录的子树下。主CMakeList文件包含一个add_subdirectory(<dirname>)
指令列表。在每一个子目录CMakeList文件包含的定义如下所示:KDevelop没有看到C++头文件
set (SOURCE_FILES
util/src/Connector.cpp
pub/util/Connector.h
)
add_library(channels SHARED $(SOURCE_FILES))
SET_TARGET_PROPERTIES(channels PROPERTIES LINKER_LANGUAGE CXX)
其中channels
是子目录名。
虽然包含文件的搜索路径设置正确并且编译工作正常,但KDevelop没有看到Connector.h
头文件,因此它的解析和代码/类浏览器不起作用。
我知道每个目录中的.kdev_include_paths
文件都可能解决问题。不幸的是,由于在我们的开发环境中存在一些额外的限制,这种方法可能无法使用
有没有其他办法可以解决这个问题?
我在RHEL 7.1上使用Intel C/C++编译器,并使用从AppImage运行的KDevelop 5.0.4。
它没有帮助 – GMichael
编译器是否看到头文件? – OutOfBound
是的,它看到他们 – GMichael