2012-07-17 38 views
0

ibm reference表示當嚴重性級別高於-qhalt編譯器選項的設置時發生錯誤時,將生成1的返回代碼。我用-qhalt = s(只有嚴重錯誤)和-qnomaxerr(錯誤數量沒有限制)進行編譯。儘管我成功地獲得了我的文件,但是編譯xlC返回碼的方式是1,但不是0.我會忍受這一點,但是這打破了我的Makefile,因爲在遇到編譯器的非零錯誤代碼時停止。如何找出爲什麼xlC返回代碼是非零?

當我編譯一個簡單的程序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參考中找到它。

回答

0

1501-218(W)文件some.h包含不正確的文件後綴

警告消息1501-218說話是算數的,some.h,有「.H」,這是不是一個文件後綴xlC命令的輸入文件的有效文件後綴。推測「some.h」是頭文件,它是來自some.cpp的#include,並且不需要在xlC命令行中列出。