0

ここでテレパシーの力を持っている人はあまりいないことは知っていますが、コンパイルしようとしているプログラムのリンカーエラーと思われるものを誰かがデバッグするのを手伝ってくれるように、できるだけ多くの情報を提供しようとします.

ということで、プログラムはcilkprofこちら、警告:tgzファイル参照)。その中には、変数を にMakefile変更しただけの があります。それ以外はすべて等しい。CXX = icpcCXX = g++

/usr/bin/ld: ../../3rdparty/pintool/intel64/lib/libpin.a(util_host_ia32e.os): 
relocation R_X86_64_PC32 against symbol `DoXsave' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
make: *** [linux64/cilkprof.so] Error 1

libpin.aで再コンパイルする必要があることを理解している必要-fPICがありますが、私が持っているピンバージョンは既にコンパイルされています。私が間違っているかもしれないことは何ですか?不明な点があれば質問してください。ありがとう。

4

1 に答える 1

1

Makefileが共有ライブラリを構築し、それを静的な非PICライブラリにリンクしようとしているように見えます。これはAFAIKであり、実行できないことです。したがって、librayを再コンパイルできない場合、-fPIC私が見る唯一の解決策は、Makefileを変更し、代わりに静的ライブラリを構築することです。

于 2012-11-17T16:10:20.803 に答える