2010-05-11 33 views
1

我试图为我的Linux机器编译无线网卡驱动程序,并且遇到了Make命令的问题。在编译过程中,我通常会看到一些正在编译的C文件的警告;尽管警告这些文件仍然能够被编译为一个目标文件。出现错误 - gcc编译器警告能否阻止C文件被编译到目标文件中?

当制作过程涉及到一个文件名为rtmp_wext.c然而,编译器会生成大量的警告,然后整个过程制作停止并返回错误1的退出状态,即make: *** [rtmp_wext.o] Error 1。通常我会看到C文件出现编译停止错误。这是第一次看起来编译器警告正在阻止文件被转换成目标文件;这是可能的还是其他原因造成不成功的编译?

+1

我会将输出保存到一个文件(使用屏幕,脚本或简单的'ol重定向),然后grep它。错过一堆警告中的错误可能很容易。 – derobert 2010-05-11 20:45:24

+1

有没有机会用'-jN'标志编译,所以警告实际上是来自同一时间发生的不同工作? – Cascabel 2010-05-11 20:48:05

+0

我将输出重定向到一个文件,并且唯一一个包含错误词的行是我发布的。所有其他有问题的行都有警告标签。编译时没有使用-jN标志。 – 2010-05-11 20:59:42

回答

3

如果gcc正在通过-Werror选项,它会;它会导致警告被视为错误,但它们也会被重新标记为“错误”而不是“警告”,所以如果您看到“警告”,那不是。这可能是其他命令make正在运行;你可以尝试像在冗长模式下运行它,或者只是检查Makefile以查看它正在执行的命令

0

可以通过在命令的开始处(在选项卡之后)放置' - '来告诉Make忽略错误, 。如果这是你自己的代码,我建议你不要忽略症状,但我猜你不想调试这段代码。

你说你可以用警告森林编译rtmp_wext.o。我同意德罗伯特的评论;那里可能会有错误。如果存在,则不能保证rtmp_wext.o实际上能够正常工作,并且不管它是否有效,都应该找到错误消息并告诉谁写了驱动程序。