环境 环境默认是 gcc-4.4
使用的编译器为 gcc-8.2

通过 CC CXX 传递使用的编译版本
使用 configure 正常: ./configure --prefix=/home/xxxxx/bin/cmake --parallel=16
make 的时候报错: make -j 20

多gcc版本环境下 CMake 编译失败

我们看这个报错的make文件:
vim Source/CursesDialog/CMakeFiles/ccmake.dir/build.make
多gcc版本环境下 CMake 编译失败

加一行输出看具体的参数是什么
多gcc版本环境下 CMake 编译失败

然后make
多gcc版本环境下 CMake 编译失败

我们可以看到这里引用了一个/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

相关文章:

  • 2021-12-06
  • 2021-09-24
  • 2022-12-23
  • 2019-10-12
  • 2021-11-15
  • 2021-10-08
  • 2021-12-10
  • 2021-11-07
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-01-21
  • 2021-07-11
  • 2021-12-03
  • 2021-07-15
相关资源
相似解决方案