我想问你一个关于perlembed的问题。关于以下问题的最后一个条目: PerlEmbed - C# - Mono - Linux
我问过jonathanpeppers,但他说他不再在perl和c上工作了。所以我要问小组。
我试图在linux机器上运行perlembed.c但是我收到了以下错误。你能帮帮我吗?
[root@BSG01 melih]# gcc -shared -Wl,-soname,perlembed.so -o perlembed.so perlembed.c `perl -MExtUtils::Embed -e ccopts -e ldopts`
/usr/bin/ld: /tmp/ccRP7CYZ.o: relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/tmp/ccRP7CYZ.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
答案 0 :(得分:2)
按照错误消息中的建议进行操作。使用编译器选项-fPIC
:
gcc -shared -Wl,-soname,perlembed.so -o perlembed.so -fPIC perlembed.c `perl -MExtUtils::Embed -e ccopts -e ldopts`
修改强>