2012-03-27 100 views
0

我想編譯源代碼,但是有大約__sync_xxx功能(__sync_bool_compare_and_swap等)GCC在Solaris編譯錯誤10

機上

版本的GCC 3.4.3是一些編譯錯誤(必須是GCC 4.1或因此我已經下載GCC v4.6,將它複製到另一個目錄(我沒有刪除v3.4.3),然後更改GCC的$PATH路徑,但它不起作用(同樣的錯誤發生) 。

我想問一下,是否只需要用export PATH=...改變gcc路徑就足以編譯新的GCC?

+0

在您的編譯環境中鍵入'gcc --version'來查看它是否找到了正確的工具鏈。 – 2012-03-27 11:22:15

+0

你運行過什麼配置步驟適合該構建? – dldnh 2012-03-27 11:24:58

+0

您能否顯示完整的輸出,傳遞'-v'以啓用更多詳細信息? – ShiDoiSi 2012-03-27 11:45:59

回答

0

使用以下配置選項編譯GCC時:

--program-prefix=foo --program-suffix=bar 

,它會產生形式爲「foo-GCC-吧」的節目彬,這樣你就可以區分不同的構建GCC的。

將foo和/或bar替換爲您構建的適當「標籤」(例如,「-4.6」)。

這種方式,如果它沒有找到你的工具鏈正確,它會快速失敗,而不是使用3.4版本。

這也意味着不同的工具鏈構建可以共存於標準安裝前綴目錄中。

0

我們必須使用-march = 686開關才能使其在intel上工作。

0

嘗試檢查並更新LD_LIBRARY_PATH,以便爲安裝的新gcc使用lib路徑。