2017-08-10 91 views
1

這是我們一直在處理的一個問題 - 我們正在使用Cygwin工具鏈構建一個C++項目,無論我們添加什麼在C++編譯器包含項目設置下的路徑時,Eclipse似乎無法找到必要的頭文件。即使包含路徑已設置,Eclipse仍找不到頭文件

我們已經完成了Stackoverflow社區迄今爲止提出的所有建議;

  • 確信包括路徑是工作空間相對
  • 試過反斜線和斜槓
  • 使用特定的Cygwin路徑嘗試(/ cygdrive/C而不是C:/)
  • 經過編譯器輸出到驗證包括路徑是有
  • 經過所產生的makefile文件,以確保它們是正確的
  • 重建索引
  • 刪除調試˚F舊的完全
  • 重新啓動Eclipse的

基本上無異改變#include <...>代碼本身要使用的完整路徑(C:/.../file.h)工作的。這不適合我們的需求,因爲我們需要多個開發人員來處理這個項目,而且由於我們的一些構建過程,這些文件本身是動態生成的。

+0

cygwin沒有像'/ cygdrive/C/home/path/etc'這樣的posix樣式的映射文件路徑嗎?你嘗試過嗎? – Galik

+0

是的,我們也嘗試過 - 我將它添加到列表中; – Grandclosing

回答

1

因此,下面是關於Eclipse的一個有趣的小細節,我們不知道 - 特定的源文件本身可以有自己的設置。

如果您查看源文件並看到以下扳手圖標,則表示該文件有一些設置可能與您的項目特定設置相反。

Eclipse wrench key

其結果是,我們的源特定的設置被重寫包括路徑,所以對於這些文件,沒有頭也沒有找到。最好的部分是Eclipse不會以比這更明確的方式告訴你 - 扳手圖標沒有提供工具提示來解釋發生了什麼。

Simply right click on the file > go to Resource Configurations > Reset to Default... 

只要您已經在項目設置中編寫了正確的包含路徑,就可以立即找到您的頭文件。

作爲參考,我們使用的是Eclipse Kepler - 我不確定他們是否修復了這個問題,併爲更新版本的用戶添加了更多信息。

相關問題