2016-11-10 30 views
0

我希望Ecplise CDT解析器預先包含未在源文件中指定的文件,原因是我不會進入,以免抱怨在各個地方未申報的標識符。添加「預處理器包含」似乎沒有效果

我試圖使用Project | Properties | C/C++ General | Preprocesor Includes | Entries並添加所有語言的相關文件來執行此操作。但是,這似乎沒有效果。如果我轉到Paths and Symbols | Includes,我只能添加包含目錄,而不能包含文件。

我在做什麼錯了,我怎樣才能讓C/C++解析器包含我的文件?

注意:我使用nVIDIA CUDA 8.0的nsight,一個修改後的CUDA啓用的Eclipse;平臺版本是4.4.0。

回答

0

正如你注意到的,Paths and Symbols | Includes只支持include目錄,所以Preprocessor Include Paths, Macros etc.是要走的路。

,你可能會運行到一些常見的陷阱:

  • Entries選項卡,你選擇Languages下正確的語言?每種語言都有自己的一組條目。

  • Providers選項卡中,對於CDT User Setting Entries(假設這是您添加條目的那個),是否未選中Use global provider shared between projects?如果選中,項目特定的條目將被忽略。

  • 您是否重建過項目的索引(Project -> C/C++ Index -> Rebuild)?在重建索引之前,通常不會選取新的設置。

其他的事情,可以幫助:

  • 如果在Add Include對話框中你指定包括文件作爲Project PathWorkspace Path,請嘗試使用Filesystem Path代替,即使該文件是內部您的項目或工作區。這有時可以幫助。

  • 在同一對話框中,嘗試檢查Treat as built-in。我不確定Include Files的確切含義,但它在過去爲Include Directories提供了幫助。

最後,如果沒有工作的,還有一個更直接的方式來指定-include或任何其他標誌:

  • Providers選項卡,選擇Built-in Compiler Settings提供商。
  • 確保Use global provider shared between projects未被選中
  • 追加-include <path>或任何其他標誌的Command to get compiler specs
相關問題