2009-12-21 24 views
1

我正在開發一個繼承的Borland C/C++項目,並且很多項目的功能都隱藏在#ifdefs之後,這些依賴於傳遞給編譯器的定義。 我一直試圖通過使用per-configuration符號來激活這些部分,但是當我查看源文件時,大部分仍然是灰色的。 有什麼辦法可以告訴eclipse有關這些定義,所以我可以更改我的構建配置並查看正確編譯哪些代碼段?有沒有什麼方法可以讓eclipse識別每個構建配置的虛擬定義?

回答

0

是這個環節的問題described in this thread?

最有可能的問題是,你指定的文件不包含搜索路徑上找到。
macro-include-files之間的差異在於: - 只對宏文件進行預處理(即提取宏定義),而包含文件實際上被解析(即聲明也被提取)。

這些選項應該像海灣合作委員會的-imacro-include命令行選項一樣工作。

我現在看到問題了。
我關閉了該項目的索引器。
所以文件本身被找到,但它的緩衝區是空的,因爲它無法找到索引中的文件。

在代碼中仔細研究了一下之後,我發現我可以在C/C++首選項頁面打開「在生成大綱視圖時遵循未索引的頭文件」選項,然後它會正確解析宏文件。


或者是它涉及到更近的盲蝽象bug 197989? (當頭包含多次時,快速索引器可能不準確)

+0

不完全。我目前設置的系統是一個包含所有源代碼的eclipse項目,以及定義了多個編譯器和交叉編譯器的makefile。我有當前設置的多個構建配置的工作空間,它們都具有在項目屬性中定義的自定義符號。 我想要做的就是讓eclipse本身將__COMPILER__定義爲BCB5或任何其他編譯器字符串,這樣當我查看源代碼時,它可以識別受#if __COMPILER__ == BCB5保護的塊在設置爲構建配置時變爲活動狀態定義它們。 – Thomas 2009-12-21 22:29:42

相關問題