-flto-partition=none编译错误解决
1 编译错误告警
1.1 编译错误告警
在编译一些代码的时候报了下面的错误告警信息,当出现这种错误的时候需要看一下自己当前的
cc: error: unrecognized command line option ‘-fcf-protection=none’; did you mean ‘-flto-partition=none’?
cc: error: unrecognized command line option ‘-fcf-protection=none’; did you mean ‘-flto-partition=none’?
make[1]: *** [<builtin>: libsystemctlm-soc/libremote-port/safeio.o] Error 1
1.2 查看gcc版本
如果当前版本的gcc低于9的话,会出现上面的错误,需要去升级一下gcc到9及以上。
gcc --version
1.3 查看是否有高版本的gcc
查看gcc是否已经编译安装了gcc-9*,如果有的话可以替换一下当前低版本的gcc。
ls /usr/bin/gcc*
1.4 切换gcc版本
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100
2 安装gcc 9.5.0
如果没有安装gcc 9及以上的高版本,则需要安装一下。
2.1 gcc的下载链接
http://ftp.gnu.org/gnu/gcc/
2.2 通过命令行获取gcc源码
wget http://ftp.gnu.org/gnu/gcc/gcc-9.5.0/gcc-9.5.0.tar.gz
2.3 编译和安装
tar -xvf gcc-9.5.0.tar.gz
cd gcc-9.5.0
./contrib/download_prerequisites
./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make -j8
sudo make install
2.4 查看gcc 版本
gcc --version