2012-03-06 8 views
0

私はCMakeを使って "Eclipse CDT4 - Unix Makefiles"を使って外部ライブラリを使ってプロジェクトをビルドしています。CMakeを使って外部ライブラリのソースファイルをEclipseでインデックス化する

Eclipseでのインポートは、有効なプロジェクトにつながりますが、すべてのヘッダーファイルと実装されたソースファイルだけがEclipseのインデックスによって正しく認識されます。 「Ctrl +クリック」を使用して、1つの外部ライブラリのソースファイルをナビゲートすることもできます。ライブラリを構築せずにインデクサーが認識できるように、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ヘッダー)を索引付け」。私はまた、 "ビルドに含まれていないインデックスのソースファイル"、 "インデックス未使用のヘッダー"のEclipseのプロパティを確認しました。 – user1251783

+0

長い休憩の後、私はcmakeと日食の問題に取り組んだ。私はあなたの解決策がcmake "Eclipse CDT4 - Unix Makefiles"設定では動作していないことを理解しました。しかし、この[チュートリアル](http://www.vtk.org/Wiki/CMake:Eclipse_UNIX_Tutorial)の後でUnix Makefileジェネレータを使ってプロジェクトをセットアップすると、あなたのcmakeスニペットを使って目的の機能が実現します。ありがとうございました! – user1251783

関連する問題