出现这个问题最有可能的原因为gcc
版本与系统的ld
版本不搭引起的。
ld
的版本可以通过ld -v
查看,像我使用gcc-6.1.0
,ld
版本为2.5
的时候就会报错,升至2.7
该错误就会消失。
解决方法:
下载新版的binutils
,网址为:http://ftp.gnu.org/gnu/binutils/
无需root
用户,直接configure
配置好路径,然后make
&& make install
即可。最后配置在~/.bashrc
利用export PATH
指向binutils
的bin
文件即可。
souce ~/.bashrc
或者重启终端之后,待查看 ld -v
更新之后,重新编译,即可消除此错误。