多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
原文地址:https://www.cnblogs.com/stdpain/p/12550060.html