由于為了編譯一個很早的軟體,需要很低版本的g++,現在的Linux系統都不會預設安裝這麼低版本的g++編譯器,軟體源一般也不會提供這麼低版本的編譯器,是以隻好用源碼編譯一個來用。
我一開始在Ubuntu 14.04(32位)上編譯,但很多錯誤解決不了,是以換了一個更低版本的系統 Ubuntu 9.10(32位)然後才編譯成功。不過編譯 g++ 4.1還有我的那個軟體需要依賴很多其他軟體,而由于軟體源沒有合适版本(用
apt-get
會提示依賴關系不滿足),這一部分需要額外下載下傳合适版本的源碼編譯安裝,隻要版本合适,一般不會遇到什麼問題,是以這裡就不涉及了。
具體步驟
- 先下載下傳源碼http://ftp.gnu.org/gnu/gcc/gcc-4.1.2/,選擇gcc-4.1.2.tar.bz2
- 解壓縮
到目前檔案夾tar jxvf gcc-4.1.2.tar.bz2
- 進入 gcc-4.1.2,執行指令
mkdir build; cd build
- 然後執行指令
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
- 最後就是
和make
sudo make install
補充說明
- 編譯g++時,一般要給configure設定一些參數,而不是直接執行
- 一些高版本的g++會提供腳本(contrib檔案夾中)用于下載下傳編譯g++依賴的軟體包,是以在解壓源碼後可以看看這個版本是否提供
參考資料
- https://blog.csdn.net/shaochat/article/details/44748267
- https://www.cnblogs.com/mengfanrong/p/4844808.html
- https://blog.csdn.net/rs_network/article/details/7687902
- https://www.cnblogs.com/oloroso/p/5984985.html
- https://www.cnblogs.com/ezhang/p/3853581.html