4
我有一個C++和C文件的項目。該代碼編譯並運行正常,但我需要擺脫以下錯誤:Eclipse CDT的符號'X'的通用解決方案無法解析?
Symbol 'ERANGE' could not be resolved
我能夠與這兩個文件(最新的x64 Elipse朱諾在Ubuntu)重現它:
爲主。 H:
#ifndef MAIN_H_
#define MAIN_H_
extern "C" {
#include <errno.h>
}
#endif /* MAIN_H_ */
main.cpp中:
#include <cerrno>
#include <cassert>
#include "main.h"
int main(int argc, char * argv[]) {
assert(errno != ERANGE); // <-- CDT ERROR here
return 0; }
做打開Declar ERANGE上的正確將我帶入/usr/include/asm-generic/errno-base.h文件。
以下的解決方法,以類似的問題沒有工作:
- 設置索引 - >使用積極構建配置
- 手動添加ERANGE符號項目路徑和符號
- 添加主.cpp至首選項 - > C/C++ - >代碼分析 - >符號未解析 - >自定義選定... - >範圍 - >排除模式
將工作的唯一解決方案是禁用符號未完全解決錯誤,但這會導致我錯過真正的問題。
編輯: CDT的bug提交https://bugs.eclipse.org/bugs/show_bug.cgi?id=404017
我不知道這是否會對您有所幫助,但我發現CDT索引器並不總是正確或可靠地進行更新。當事情不同步時,右鍵單擊項目並選擇Index |清新所有文件。這通常爲我解決這些類型的問題。 – 2013-03-19 16:48:43