linux make libperl.a(mathoms.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPI
时间: 2024-01-13 17:42:55 浏览: 87
example_perl.rar_dumpvar.pl_perl example_perl 例子
这个错误信息是在使用make命令编译生成静态库libperl.a时出现的,它提示你在生成共享对象时不能使用R_X86_64_32S重定位类型。建议你使用-fPIC选项重新编译该源文件,以便生成一个位置无关的代码。可以尝试在Makefile文件中添加以下选项:
```
CFLAGS += -fPIC
```
如果还有其他的对象文件需要编译,也需要添加相同的选项,例如:
```
OBJCFLAGS += -fPIC
```
这样应该能够解决这个问题。
阅读全文