0

ibm リファレンスには、-qhalt コンパイラー・オプションの設定よりも高い重大度レベルでエラーが発生した場合、戻りコード 1 が生成されると記載されています。-qhalt=s (重大なエラーのみ) および -qnomaxerr (エラーの量に制限なし) でコンパイルします。ファイルを正常に取得したにもかかわらず、コンパイルされた xlC リターン コードは 1 ですが、0 ではありません。コンパイラからゼロ以外のエラー コードが検出されると、make が停止するため、Makefile が壊れます。

int main() { return 0; }単純なプログラムをコンパイルすると、期待どおり 0 の戻りコードが返されます...

問題のあるコンパイル セッションは次のようになります。

bash-3.1$ xlC -O4 -qstrict -I/adaneyko/src/boost-trunk -c some.h some.cpp -qhalt=s -qnomaxerr
xlC: 1501-218 (W) file some.h contains an incorrect file suffix
bash-3.1$ echo $?
1
bash-3.1$ xlC -qversion
IBM XL C/C++ Advanced Edition for Blue Gene/P, V9.0
Version: 09.00.0000.0010

その 1501-218 警告についてはわかりませんし、ibm リファレンスで見つけることができませんでした。

4

1 に答える 1

0

1501-218 (W) ファイル some.h に不正なファイル サフィックスが含まれています

警告メッセージ 1501-218 は、some.h のファイル サフィックスが ".h" であることを意味します。これは、xlC コマンドへの入力ファイルの有効なファイル サフィックスではありません。おそらく「some.h」は、some.cpp から #include されたヘッダー ファイルであり、xlC コマンド ラインにリストする必要はありません。

于 2012-10-27T00:22:00.637 に答える