【发布时间】:2010-05-11 20:38:27
【问题描述】:
我正在尝试为我的 Linux 机器编译无线网卡驱动程序,但我遇到了 Make 命令的问题。在编译过程中,我通常会在一些正在编译的 C 文件上看到警告;尽管有警告,这些文件仍然能够编译为目标文件。
当 Make 进程遇到一个名为 rtmp_wext.c 的文件时,编译器会产生大量警告,然后整个 Make 进程停止并返回错误 1 的退出状态,即 make: *** [rtmp_wext.o] Error 1强>。通常我会看到 C 文件出现错误,导致编译停止。这似乎是编译器警告第一次阻止文件转换为目标文件。这是可能的还是其他原因导致编译不成功?
【问题讨论】:
-
我会将输出保存到文件中(使用屏幕、脚本或普通的 'ol 重定向),然后 grep 它。在一堆警告中错过一个错误真的很容易。
-
您是否有可能使用
-jN标志进行编译,因此警告实际上来自同时发生的不同工作? -
我将输出重定向到一个文件,其中唯一带有错误字的行是我发布的那一行。所有其他有问题的行都有警告标签。否 -jN 标志未与编译一起使用。
-
@Xolstice:那么我建议遵循迈克尔的建议 - 看看 make 实际上是否正在运行除 gcc 之外的命令(例如,尝试将对象移动到另一个目录但失败)错误。
-
制定一个特定于 rtmp_wext.o 的规则可能会很有用,该规则除了 gcc 之外什么都不做......,然后看看 Make 是否会失败。
标签: gcc compiler-construction makefile gcc-warning