0

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
4

1 に答える 1

2

エラーメッセージで提案されているとおりに実行してください。コンパイラオプションを使用します-fPIC

gcc -shared -Wl,-soname,perlembed.so -o perlembed.so -fPIC perlembed.c `perl -MExtUtils::Embed -e ccopts -e ldopts`

編集:

のオプションのドキュメントについては、ここをgcc参照してください。

于 2012-12-10T13:44:33.710 に答える