2014-04-21 107 views
2

我已經將所有的代碼編譯到具有gcc 4.1.1和g ++ 4.1.1的系統下。 IT只是給了我另一個系統,它有gcc 4.1.2和g ++ 4.1.2。當我與-v選項運行,它說gcc和g ++庫搜索路徑

 
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../include/c++/4.1.2/x86_64-redhat-linux" 
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/include" 
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../x86_64-redhat-linux/include" 

但是找給了我這個

 
find /usr -name stddef.h 
/usr/lib/gcc/i386-redhat-linux/4.1.1/include/stddef.h 

如何強制GCC使用不同的搜索路徑i386和4.1.1,而不是4.1 .2和x86_64?

+0

g ++是否無法編譯無關程序?然後致電IT,讓他們修復它,而不是使用脆弱的解決方法(如果必須,則使用'-isystem')。 –

+0

謝謝。它看起來像是在32位系統上有64位庫與32位庫混合在一起。 – Arun

回答

2

這表明gcc的安裝不完整。您可能需要安裝(例如sudo yum install libstdc++-devel glibc-devel)。這將工作假設gcc實際上是使用redhat的標準軟件包安裝的。您當然也可能需要其他一些庫,具體取決於您實際開發的內容。

當然,正確的做法是向IT投訴,但我懷疑如果你想今天完成一些工作(如果你的IT和我一起工作的那些東西),你最好自己做,如果你可以做到這一點。 (哦,大多數情況下,根據我的經驗,他們不知道如何解決問題,所以給他們上面的信息!)。

+0

謝謝。它看起來像是在32位系統上有64位庫與32位庫混合在一起。 – Arun