gcc4.7和gcc4.6在編譯上的一些問題

最近更新了開發機器的ubuntu的版本,linux內核進行了升級,gcc版本也升級到了4.7。之後奇怪的事情就出現了,在之前的編譯器好好的make,最新的系統就會報錯,出現大量的系統調用沒有定義。這些系統都是存在unistd.h中。在gcc/g++ 4.6版本中,這些都是默認被include的,但是到了4.7版本,這些就不是默認include的了。所以需要在頭文件中include unistd.h這個頭文件,保證系統調用在編譯過程中是有定義的。

這個問題在mail list中,似乎也有印證:





當然解決方案也可以是你用alternative去切換你當前編譯使用的gcc/g++版本。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章