多gcc版本環境下 CMake 編譯失敗


環境 環境默認是 gcc-4.4
使用的編譯器為 gcc-8.2

通過 CC CXX 傳遞使用的編譯版本
使用 configure 正常: ./configure --prefix=/home/xxxxx/bin/cmake --parallel=16
make 的時候報錯: make -j 20

我們看這個報錯的make文件:
vim Source/CursesDialog/CMakeFiles/ccmake.dir/build.make

加一行輸出看具體的參數是什么

然后make

我們可以看到這里引用了一個/usr/include,但是這個庫是我們默認編譯器的庫存放位置,改成gcc82的就好了

分析這個Makefile 我們更改
Source/CursesDialog/CMakeFiles/ccmake.dir/flags.make
Source/CursesDialog/form/CMakeFiles/cmForm.dir/flags.make

里面-I改成自己的就好了

成功

新方法

原因為gcc在找SSL的時候找到系統目錄下的SSL,如果沒有強需求,可以禁用鏈接SSL。

./bootstrap --prefix=/usr/local/ --no-system-libs --parallel=80 --  -DCMAKE_USE_OPENSSL=OFF


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM