簡體   English   中英

將gcc 4.8.2編譯為靜態可執行文件

[英]compile gcc 4.8.2 as static executable

我已經下載了gcc4.8.2和相關的軟件包。 在進行make && make安裝之前,其配置如下:

configure --prefix=${HOME}/gcc --with-gmp=${HOME}/gcc --with-mpfr=${HOME}/gcc --with-mpc=${HOME}/gcc --disable-multilib

一切正常,直到我運行新的g ++為止:

${HOME}/gcc/libexec/gcc/x86_64-unknown-linux-gnu/4.8.2/cc1plus: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory

我可以指定LD_LIBRARY_PATH包含mpc庫所在的位置,但我想將它們編譯為g ++或gcc靜態文件。 但是我在“配置”腳本中沒有看到這樣的選項。 有什么建議么?

不知道gcc是否可以構建為靜態可執行文件。 但是您無需更改LD_LIBRARY_PATHld.so.conf ,您的gcc定制版本必須立即可用。

檢查mpc和friends共享庫安裝在哪里。 它可以是${PREFIX}/lib${PREFIX}/lib64

通常,我會通過--prefix=${PREFIX} --libdir=${PREFIX}/lib64構建先決條件庫以進行configure

然后使用以下命令配置gcc:

libs := gmp mpfr mpc cloog isl binutils
gcc_libs_configure := $(patsubst %,--with-%-include=${PREFIX}/include,${libs}) $(patsubst %,--with-%-lib=${PREFIX}/lib64,${libs})

configure.gcc : install.isl install.gmp install.mpc install.mpfr install.cloog install.binutils
    cd gcc-${gcc_version}-obj && ../gcc-${gcc_version}-src/configure --prefix=${PREFIX} --program-suffix=${suffix.gcc.${gcc_version}} ${gcc_libs_configure} --disable-libunwind-exceptions --with-system-zlib --enable-__cxa_atexit --enable-checking=release --disable-multilib --enable-languages=c,c++,fortran,lto --enable-plugin --enable-initfini-array --enable-gold=default --enable-libstdcxx-time --enable-linker-build-id --with-linker-hash-style=gnu --disable-libgcj

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM