[問題] Eclipse CDT 的 "Symbol could not be resolved" bug...

看板Eclipse作者 (= ̄ω ̄=)時間13年前 (2011/08/14 15:48), 編輯推噓1(106)
留言7則, 2人參與, 最新討論串1/1
目前用的版本是 Eclipse Indigo,我開了一個 C 專案用來寫 Windows 程式, 當用到一些需要定義符號才能用的資料結構時,程式碼中用到此資料結構的地方 會出現紅色底線的錯誤提示,滑鼠游標移動到錯誤的地方會顯示: Symbol 'XXXXXX' could not be resolved 例如 KEYBDINPUT 這個結構需要先定義 _WIN32_WINNT 這個符號並設定為大於 0x0403 的數字: /************ example start ***********/ #define _WIN32_WINNT 0x0500 BOOL InputChars(LPTCHAR szData) { KEYBDINPUT ki; // KEYBDINPUT 會被標上紅色底線 ...... return TRUE; } /************ example end *************/ 雖然程式可以正常 compile 並執行,但是程式碼出現一堆紅色錯誤訊息讓人很不舒服 (明明是正確的程式) 不曉得有沒有人知道怎麼解決此問題…… -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.140.106.52

08/14 20:28, , 1F
有一個地方可以讓你define macro變數
08/14 20:28, 1F

08/14 20:29, , 2F
抱歉,我手邊沒有eclipse,不過確實有可以設定的地方
08/14 20:29, 2F

08/14 20:44, , 3F
感謝一樓回應,不過我的問題是設了 macro 以後,編輯器還是
08/14 20:44, 3F

08/14 20:47, , 4F
顯示那些資料結構未定義,但還是可以通過 compiling
08/14 20:47, 4F

08/14 20:48, , 5F
後來找到一個解法:在 Preferances 視窗找到「C/C++」→「
08/14 20:48, 5F

08/14 20:49, , 6F
Indexer」,將 "Index source and header files opened in
08/14 20:49, 6F

08/14 20:49, , 7F
editor" 打勾就可以了
08/14 20:49, 7F
文章代碼(AID): #1EHttD95 (Eclipse)
文章代碼(AID): #1EHttD95 (Eclipse)