[英]What's the recommended Eclipse CDT configuration for big C++ project (indexer takes forever)
[英]What's the right way to work with a different C++ compiler in a CDT project?
我在Linux上使用Eclipse CDT Mars.2(和Neon RC)。 我的發行版的默認C ++編譯器是GCC 5.3.1,但對於我的一些工作,我使用的是GCC 4.9.3。 我想關於我的項目的一切使用GCC 4.9.3:工具發現,C ++標准庫,包含文件路徑,索引器,預處理 - 所有這些。
這樣做的正確方法是什么? 似乎Eclipse有相當拜占庭的“提供者”和“工具鏈”配置,我不想進行設置,我以后無法撤消...
注意:我確實嘗試在某些預處理器包含等提供程序設置中用/usr/bin/g++-4.9
替換${COMMAND}
,這確實導致發現4.9.3相關的包含文件,但我的索引器沒有不喜歡這樣,所有std ::的東西都顯示為紅色且未解決。 然后我試着尋找我設置用於索引的編譯器版本的位置,但我找不到。
有兩種可能的答案,取決於您是在做“標准制作”還是“制作制作”。 標准制作意味着您正在編寫自己的Makefile並自行管理所有這些。 Managed Make意味着您讓CDT創建Makefile並管理它們。
對於標准品,一切都由掃描儀發現的東西控制。 掃描程序處理查找作為項目一部分的所有系統包含文件,並將這些文件提供給索引器以解析符號,並允許諸如頭文件導航之類的內容。
要更改使用的編譯器,您需要用您選擇的編譯器替換${COMMAND}
。 您(作為用戶)可以確保此命令與您在Makefile中使用的命令相匹配。
要更改${COMMAND}
:
${COMMAND}
的${COMMAND}
以獲取編譯器規范:到您想要的g ++可執行文件。 這是一個截圖,以幫助:
要查看此操作,以下是一些有和沒有描述更改的屏幕截圖。 在我的機器上,我有/usr/bin/g++
是版本5.3,而/usr/bin/g++-4.7
是版本4.7。
使用默認的g ++
將g ++重寫為版本4
上面的問題是你需要在Makefile和構建設置之間協調g ++ 。 解決此問題的一種方法是使用C / C ++ Build Environment設置將CXX
定義為要使用的編譯器。 在項目設置( 項目屬性 - > C / C ++構建 - > 環境 )或全局首選項( 首選項 - > C / C ++ - > 構建 - > 環境 )中設置CXX
環境變量。
然后用${CXX}
替換${COMMAND}
${CXX}
。
這是一個截圖,演示了我所描述的內容:
相反,如果您使用的是Managed Make,則需要覆蓋各個工具的構建設置。 然后,這些設置將提供給Standard Make直接使用的預處理器包含路徑,宏等設置。
要更改構建設置,您需要在幾個地方覆蓋用於編譯器的命令,每種類型的工具一次。 從項目屬性 - > C / C ++構建 - > 設置開始 ,然后編輯以下每個:
g++
gcc
g++
這是一個演示截圖:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.