我有一個由多個共享庫構建的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