我最近安裝了GCC 6.1,專爲在標題(GMP/MPFR/MPC)中提到的圖書館我跟着什麼GNU網站上說:gcc 6.1。安裝時,gmp/mpfr/mpc不是內置的?
GNU多精度庫(GMP)4.3版本。 2(或更高版本) 建立GCC的必要條件。如果在名爲gmp的GCC源的 子目錄中找到GMP源分佈,則它將與GCC一起構建爲 。或者,如果GMP已安裝,但它不在 庫搜索路徑中,則必須使用 --with-gmp configure選項進行配置。另請參閱--with-gmp-lib和--with-gmp-include。只有安裝了download_prerequisites的GMP版本才支持樹內構建。
在進行gcc的「configure」,「make」和「make install」之前,其他庫類似於我下載的GCC目錄中複製的最新版本的源代碼,將會與gcc一起構建。然而,當我嘗試運行一個編譯的項目,它使用GMP庫它說:
error while loading shared libraries: libgmp.so.10: cannot open shared object file: No such file or directory
所以我一直在尋找其中共享的對象,但我找不到在哪裏海灣合作委員會已經安裝了它。
我是否應該在安裝gcc之前首先編譯GMP/MPFR和MPC?因爲我認爲這不是必要的。如果我不需要編譯GMP/MPFR和MPC應該安裝的庫?
一些進一步的細節:
我不認爲我做了什麼奇怪的,複雜的,我猜。 1.我下載了gcc並將源代碼放入目錄。 2.我下載了所有這些庫,作爲tar文件; 3.在gcc源代碼根目錄(gmp,mpfr和mpc)中創建了三個文件夾amd在這些文件夾中擴展了上一步的焦點。 4.海合會我執行./configure --prefix=/path/to/gcc_build
5.我執行make
6.然後make install
如果我不使用這些庫,我可以編譯和執行,而不必問題,當我需要那些庫返回我在編譯成功後提到的錯誤。如果我查看lib/
和lib64/
路徑,則沒有任何與gmp庫相關的內容。
也許更確切地描述你做了什麼?通常情況下,當gcc構建gmp/mpfr/mpc作爲其構建的一部分時,它僅構建靜態版本。你在某處安裝了某些版本的這些庫嗎? –
@Marc Glisse查看更新,並且我沒有安裝庫,我假定他們將在gcc安裝期間安裝。 – user8469759
解釋「編譯項目」,你如何鏈接庫?可能你想檢查'-rpath',或者在執行項目時嘗試添加'LD_LIBRARY_PATH' env。 – Mine