這篇文章主要講解了“如何安裝GMP,MPFR,MPC,ELF”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何安裝GMP,MPFR,MPC,ELF”吧!
成都創(chuàng)新互聯(lián)服務項目包括永寧網(wǎng)站建設(shè)、永寧網(wǎng)站制作、永寧網(wǎng)頁制作以及永寧網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,永寧網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到永寧省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
如何使用當前版本, 使用正確版本的依賴關(guān)系,不使用包管理器(如yum,rpm,apt,dpkg)并且不使用共享庫,來逐塊安裝GCC(GNU編譯器集合)?
典型的開發(fā)人員可能希望以典型的方式安裝GCC,使用你的軟件包管理器(yum,rpm,apt,dpkg,port,brew等)或按照這里的說明進行操作
我的問題是如何安裝GCC一片一片,沒有共享庫。
我想要一個完全獨立的GCC,它可以在不使用任何共享庫的情況下在我的系統(tǒng)中移動,也不需要創(chuàng)建任何共享庫。
這就是海灣合作委員會稱之為“困難的方式”,不建議典型用戶使用。
GCC取決于:
GMP:GNU多精度算術(shù)庫
MPFR:GNU多精度浮點舍入庫
MPC:GNU多精度C庫
ELF:可執(zhí)行和可鏈接的格式庫
PPL:帕爾馬多面體庫(可選,用于內(nèi)存優(yōu)化)
---------------------------------------
如果您是典型的開發(fā)人員,可以使用http://gcc.gnu.org/wiki/InstallingGCC或系統(tǒng)軟件包管理器中的說明安裝簡單的方法,例如:
apt install gcc # for Debian, Ubuntu, etc. yum install gcc # for RedHat, CentOS, etc. brew install gcc # for Mac OS X
海灣合作委員會說這里的答案是“困難的方式”,因為它構(gòu)建了一塊一塊地,并且不使用共享庫。
獲取GCC基礎(chǔ)架構(gòu):
ftp://gcc.gnu.org/pub/gcc/infrastructure/
把下載文件放到一個臨時目錄中(你可以使用任何你想要的目錄)。
/opt/downloads
在與下載目錄或其子目錄不同的臨時目錄中構(gòu)建基礎(chǔ)架構(gòu):
/tmp/gcc
使用如下靜態(tài)庫配置基礎(chǔ)架構(gòu):
./configure --disable-shared --enable-static --prefix=/tmp/gcc
取決于您的需求,--disable-shared標志可能值得仔細看看。我使用--disable-shared,因為我只構(gòu)建靜態(tài)代碼,并且我想確保不會構(gòu)建任何共享代碼。我的需求是將驅(qū)動器的結(jié)果輕松移動到我的驅(qū)動器中,所以我需要所有靜態(tài)代碼,而且我不需要任何共享代碼。如果您更喜歡共享代碼,請忽略--disable-shared標志。
當您在此答案中運行任何命令時,請務必更新命令以使用符合您需要的當前GCC版本號。此答案中的命令適用于GCC 4.6.2。
請注意,GCC文檔中提到:“雖然任何新版本的必需工具通常都能正常工作,但庫要求通常更加嚴格,在某些情況下,新版本可能會有效,但使用記錄的確切版本更安全。
GMP是GNU多精度算術(shù)庫。
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2 bunzip2 gmp-4.3.2.tar.bz2 tar xvf gmp-4.3.2.tar cd gmp-4.3.2 ./configure --disable-shared --enable-static --prefix=/tmp/gcc make && make check && make install
MPFR是GNU多精度浮點舍入庫。這取決于GMP。
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2 bunzip2 mpfr-2.4.2.tar.bz2 tar xvf mpfr-2.4.2.tar cd mpfr-2.4.2 ./configure --disable-shared --enable-static --prefix=/tmp/gcc --with-gmp=/tmp/gcc make && make check && make install
MPC是GNU多精度C庫。這取決于GMP和MPFR。
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz tar zxvf mpc-0.8.1.tar.gz cd mpc-0.8.1 ./configure --disable-shared --enable-static --prefix=/tmp/gcc --with-gmp=/tmp/gcc --with-mpfr=/tmp/gcc make && make check && make install
ELF代表可執(zhí)行和可鏈接格式。這個庫提供了獨立于架構(gòu)的大小和endian支持。
wget http://www.mr511.de/software/libelf-0.8.13.tar.gz tar zxvf libelf-0.8.13.tar.gz cd libelf-0.8.13 ./configure --disable-shared --enable-static --prefix=/tmp/gcc make && make check && make install
GCC是GNU編譯器集合。它取決于GMP,MPFR,MPC和ELF。
wget http://www.netgull.com/gcc/releases/gcc-4.6.2/gcc-4.6.2.tar.gz tar zxvf gcc-4.6.2.tar.gz
在同一個掛載點的臨時目錄中構(gòu)建gcc。(在/ tmp中構(gòu)建它會觸發(fā)交叉編譯主機問題)
mkdir -p /opt/downloads/gcc-4.6.2-scratch cd /opt/downloads/gcc-4.6.2-scratch
configure命令及其標志必須全部位于一個命令行上(這篇文章僅僅是因為網(wǎng)頁寬度而在單獨的行中顯示它們)。
注意:我們使用完整路徑進行配置,不要設(shè)置庫路徑環(huán)境變量。我們選擇禁用引導并禁用共享庫,因為我們不希望它們(典型用戶可能同時需要這兩者),并且使用posix線程和由于我們需要而默認的標志(典型用戶可能想要使用其他線程或跳過默認標志)。YMMV并閱讀有關(guān)這里的旗幟
/opt/downloads/gcc-4.6.2/configure --disable-shared --disable-bootstrap --disable-libstdcxx-pch --enable-languages=all --enable-libgomp --enable-lto --enable-threads=posix --enable-tls --with-gmp=/tmp/gcc --with-mpfr=/tmp/gcc --with-mpc=/tmp/gcc --with-libelf=/tmp/gcc --with-fpmath=sse make && make install
使它遠遠超過必要的復雜,并不適用于所有版本的正確。構(gòu)建海灣合作委員會--disable-shared
通常是一個非常糟糕的主意。有關(guān)更簡單的方法,請參閱http://gcc.gnu.org/wiki/InstallingGCC。
在整個過程應該是沒有比這(與你想建立的版本替換4.6.2)更加困難:
tar xzf gcc-4.6.2.tar.gz cd gcc-4.6.2 ./contrib/download_prerequisites cd .. mkdir objdir cd objdir $PWD/../gcc-4.6.2/configure --prefix=$HOME/GCC-4.6.2 make make install
很顯然,Ubuntu上的一些人在其環(huán)境中設(shè)置了大量垃圾,這會干擾GCC構(gòu)建過程,他們需要首先刪除它們:
unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE LD_LIBRARY_PATH
感謝各位的閱讀,以上就是“如何安裝GMP,MPFR,MPC,ELF”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對如何安裝GMP,MPFR,MPC,ELF這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
網(wǎng)站標題:如何安裝GMP,MPFR,MPC,ELF
分享URL:http://muchs.cn/article0/jpdcio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、App設(shè)計、動態(tài)網(wǎng)站、響應式網(wǎng)站、電子商務、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)