日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux安装ld编译器,科学网—手动安装特定版本的gcc编译器 - 亓欣波的博文

發布時間:2025/3/12 linux 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux安装ld编译器,科学网—手动安装特定版本的gcc编译器 - 亓欣波的博文 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux發行版中一般預裝了gcc編譯器,版本隨系統不同而不同,有時候不想用(或者是不能用)系統默認的gcc編譯器,就需要自己編譯特定版本的gcc編譯器。

這里以在Ubuntu14.04環境(默認gcc為4.8.2)安裝gcc4.6.3為例,記錄一下安裝過程。

整個安裝過程很繁瑣且漫長,計入發現坑以及填坑的時間,至少需要兩個小時(也與機器有關),總之耐心。。。

期間參考了以下網站:

需要提前準備好的軟件有:系統自帶的gcc(如果沒有,需要從軟件庫中通過apt-get安裝)、m4、gmp、mpfr、mpc。

gcc-4.6.3源碼和gmp、mpfr、mpc的源碼都可以在gcc官網中找到,gcc在release文件夾中,其他的在infrastructure文件夾中。

因為這幾個軟件之間相互有依賴關系,故它們的安裝順序不要打亂。

1、安裝m4

sudo apt-get install m4

(上面命令可能提示找不到m4,此時可以更換軟件源試試,也可以使用新立得軟件包管理器synpatic安裝)

2、安裝gmp

tar -xjvf gmp-4.3.2.tar.bz2

cd gmp-4.3.2

./configure --prefix=/usr/local/gmp

make

sudo make install

3、安裝mpfr

tar -xjvf mpfr-2.4.2.tar.bz2

cd mpfr-2.4.2

./configure --prefix=/usr/local/mpfr--with-gmp=/usr/local/gmp

make

sudo make install

4、安裝mpc

tar -xzvf mpc-0.8.1.tar.gz

cd mpc-0.8.1

./configure--prefix=/usr/local/mpc --with-gmp=/usr/local/gmp --with-mpfr=/usr/local/mpfr

make

sudo make install

5、配置庫路徑

將三個軟件的庫文件加入動態鏈接庫中:

vim ~/.bashrc

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp/lib:? /usr/local/mpfr/lib:/usr/local/mpc/lib

保存以后:

source ~/.bashrc

將三個軟件的庫文件加入共享鏈接庫中:

vim /etc/ld.so.conf

/usr/local/mpc/lib

/usr/local/gmp/lib

/usr/local/mpfr/lib

保存以后:

sudo /sbin/ldconfig

6、安裝gcc-4.6.3

cd gcc-4.6.3

./configure --prefix=/usr/local/gcc-4.6.3 --enable-threads=posix --disable-checking

--disable-multilib ? --enable-languages=c,c++ --with-gmp=/usr/local/gmp

--with-mpfr=/usr/local/mpfr --with-mpc=/usr/local/mpc

make

sudo make install

在make中有可能出現以下錯誤:

(1)/usr/include/features.h:374:25: fatalerror: sys/cdefs.h:沒有那個文件或目錄

這是因為在64位機器上生成32位的編譯代碼,因此需要安裝32位的庫:

sudo apt-get install gcc-multilib

sudo apt-get install g++-multilib

(2)/usr/bin/ld: cannot find crti.o: No suchfile or directory

此時需要修改LD_LIBRARY_PATH變量,即在.bashrc中設置:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu

并且做一個鏈接:

sudo ln -s /usr/lib/x86_64-linux-gnu /usr/lib64

這里的路徑與機器位數有關,64位為x86_64,32位為i386。

7、配置gcc

用gcc-4.6.3替換原來的gcc,需要將原來的gcc屏蔽掉:

sudo mv/usr/bin/gcc /usr/bin/gcc-4.8.2

sudo mv/usr/bin/g++ /usr/bin/g++-4.8.2

然后將gcc-4.6.3的bin路徑加入到環境變量中:

vim ~/.bashrc

exportPATH=$PATH:/usr/local/gcc-4.6.3/bin

轉載本文請聯系原作者獲取授權,同時請注明本文來自亓欣波科學網博客。

鏈接地址:http://blog.sciencenet.cn/blog-441611-875715.html

上一篇:GTD軟件推薦——Wunderlist

下一篇:COMSOL第一個算例——扳手擰螺栓

總結

以上是生活随笔為你收集整理的linux安装ld编译器,科学网—手动安装特定版本的gcc编译器 - 亓欣波的博文的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。