2

質問が述べているように、私はそれらのコンパイラ/リンカー設定のいずれかを適用する必要があります。私はCode::Blocks10.05を使用しています。すべてのビルド設定画面を確認しました。これらの設定を適用する場所が見つかりません。出力で次のようになります。

-------------- Build: Release in 39dll-4-Linux ---------------

Linking dynamic library: ./39DLL.so
/usr/bin/ld: obj/Release/buffer.o: relocation R_X86_64_32 against `CBuffer::retval' can not be used when making a shared object; recompile with -fPIC
obj/Release/buffer.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings
4

1 に答える 1

4

[プロジェクト]->[ビルドオプション]->[コンパイラ設定]->[その他のオプション]に移動します。

左側に、ビルドターゲットを含むツリーが表示されます。次のようになります:ProjectNameデバッグリリース

ツリーの各ノードをクリックし、ノードごと-fPICにテキストボックスに入力し、[OK]を押して保存します。そうすれば、フラグがすべてのターゲットに追加されます。

于 2012-09-11T15:55:35.620 に答える