2012-03-06 67 views
0

我正在使用CMake通過使用「Eclipse CDT4-Unix Makefiles」與外部庫建立項目。使用CMake通過Eclipse索引外部庫的源文件

在Eclipse中導入會導致一個工作項目,但只有所有頭文件和我實現的源文件能夠被Eclipse的索引正確識別。 我還想通過使用「Ctrl +單擊」瀏覽一個外部庫的源文件。我不知道如何在我的CMakeList.txt中添加該外部庫的* .cpp文件,以讓它們在沒有構建庫的情況下被索引器識別。

回答

0

可以標記.cpp文件爲「頭文件只是」像這樣:

# find all filenames in the lib path and gather them in $YOUR_LIB 
FILE(GLOB YOUR_LIB path_to_library/*.?pp) 

# create a seperate sourcegroup so it doesn't clutter up the rest of your code 
SOURCE_GROUP(\\lib FILES ${YOUR_LIB}) 

# mark them as header-file only 
SET_SOURCE_FILES_PROPERTIES(${YOUR_LIB} PROPERTIES HEADER_FILE_ONLY TRUE) 

# add both your code and the lib-code to the project 
ADD_EXECUTABLE(program ${YOUR_CODE} ${YOUR_LIB}) 
+0

我想你的解決方案,但該文件被不被索引。如果我刪除了HEADER_FILE_ONLY選項的設置,他會嘗試構建這些文件。這意味着它們包含在構建中,但索引器沒有找到它們。重建索引導致與以前相同的輸出:「在44.54秒內索引'g2o_ba @ build'(5個源文件,811標頭)」。我也檢查了日食屬性「索引源文件不包含在構建中」,「索引未使用的標題」。 – user1251783 2012-03-06 13:27:02

+0

長時間休息後,我繼續處理我的cmake和eclipse問題。我想通了,你的解決方案不適用於cmake「Eclipse CDT4 - Unix Makefiles」設置。但是在[tutorial](http://www.vtk.org/Wiki/CMake:Eclipse_UNIX_Tutorial)之後使用Unix Makefile生成器設置項目會導致所需的功能(使用cmake片段)。謝謝! – user1251783 2012-07-07 14:04:35