2010-12-21 30 views
0

でストリームコードをリンクすることはできませんは、私は、次のコードをコンパイルする問題を抱えているgccの

g++ -c -O2 -Wall -Wno-unused -fexceptions -I. -I../../../stub -D_REENTRANT -D_THREAD_SAFE -I. -o t.o ./test.cc 

g++ -o t -O2 -Wall -Wno-unused -fexceptions -Wl,-brtl -Wl,-blibpath:/lib:/usr/lib t.o -lpthreads 

コンパイルにはいくつかの警告を与える:

ld: 0711-224 WARNING: Duplicate symbol: .__divdi3 
ld: 0711-224 WARNING: Duplicate symbol: .__moddi3 
ld: 0711-224 WARNING: Duplicate symbol: .__udivdi3 
ld: 0711-224 WARNING: Duplicate symbol: .__umoddi3 
ld: 0711-224 WARNING: Duplicate symbol: .__udivmoddi4 
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information. 

結果バイナリが実行されているように見えるOK:

$ ./t 
$ echo $? 
0 

出力ファイルは作成されていますが、空です。

私はVERYになりますが、問題の可能性がある箇所については感謝します。

+0

が、それは動作しませんする必要があります-o test.run'? –

+0

未使用のライブラリ例外を取り除きます。スレッドを使用していないので、なぜスレッドフラグを使用してコンパイルしていますか? – DumbCoder

+0

私はコンパイラとリンカのオプションを分離しようとします。あなたのプログラムは、これらの余分なオプションがすべて無くてもうまく動作します。 –

答えて

1

Libpathが正しく設定されていないため、問題が発生しています。正しい設定は、 `G ++ test.ccそれをコンパイルした場合

LIBPATH =は/ opt /フリーウェア/ libに/ GCC/PowerPCの-IBM-aix6.1.0.0/4.2.0/

関連する問題