【发布时间】:2017-08-22 10:29:08
【问题描述】:
我有以下c程序
#include <stdio.h>
int main()
{
printf("hello');
return 0;
}
当我编译这个文件时
gcc -c rr2.c
然后使用带有 shared 选项的链接器,例如
/ld-new -shared -o tmpdir/dump rr2.o
它给出了以下错误
rr2.o: 重定位 R_X86_64_32 对 `.rodata' 在制作共享对象时不能使用;用 -fPIC 重新编译
我不明白为什么会发生此错误。谁能帮我理解为什么会出现这个错误?
【问题讨论】: