ibm reference表示,当发生严重性级别高于-qhalt编译器选项设置的错误时,将生成返回代码1。我确实使用-qhalt = s(仅严重错误)和-qnomaxerr(错误数量没有限制)进行编译。尽管我成功获取了文件,但编译后的xlC返回代码为1,但不是0。我可以忍受,但这会破坏我的Makefile,因为在遇到编译器的非零错误代码时,make会停止。

当我编译一个简单的int main() { return 0; }程序时,得到的返回代码为0 ...

有问题的编译 session 如下所示:

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引用中找到它。

最佳答案

1501-218(W)文件some.h包含不正确的文件后缀

警告消息1501-218表示它所说的some.h具有文件后缀“.h”,这不是xlC命令输入文件的有效文件后缀。大概“some.h”是来自some.cpp的#include头文件,不需要在xlC命令行中列出。

关于compiler-errors - 如何找出为什么xlC返回码非零?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11528160/

10-11 15:25