(AIX)ld: 0711-244 ERROR: No csects or exported symbols have been saved

579 ワード

IBM AIXシステムのxlcコンパイラを使用してダイナミックライブラリをコンパイルすると、問題に示すエラー(コンパイルされたソースファイルの内容が空):
$ touch t.cpp
$ cat t.cpp
$ xlc -c -o t.o t.cpp
"t.cpp", line 1.0: 1540-0809 (W) The source file is empty.
$ xlc -qmkshrobj -o libt.so t.o 
ld: 0711-244 ERROR: No csects or exported symbols have been saved.
以上のコマンドのt.cppの内容は空である.
ソリューション:コンパイルパラメータ-bnoentry-brtl-berokを追加
$ xlc -qmkshrobj -o libt.so t.o -bnoentry -brtl -berok

References:
CSDN:AIX下ld動的ライブラリの問題
chinaunix:助けを求める:ldコマンドがダイナミックライブラリを生成できない問題