作者:朝朝宝宝 | 来源:互联网 | 2024-11-05 17:37
在64位Linux系统上编译GCC时,可能会遇到一个错误,即在构建共享库过程中,`.libs/alloc.o`文件中的重定位`R_X86_64_32`无法应用于`.rodata.str1.8`段。这一问题通常与目标文件的地址空间限制有关,需要通过调整编译选项或修改源代码来解决。具体来说,可以尝试使用`-fPIC`选项以生成位置无关代码,或者检查相关对象文件的链接方式。
在64位linux上编译gcc有可能会出现
.libs/alloc.o: relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC
这个时候找到configure 文件,
在类似这个位置修改
echo make CC=$GCCPATCH/bin/gcc -fPIC
即可。