当我在xcode中编译.c文件时,显示错误:
clang error: argument unused during compilation: '-fno-objc-exceptions' [-Werror,-Wunused-command-line-argument]
我可以将额外的命令“ -Wno-unused-command-line-argument”附加到clang命令行以禁用此警告。但我想知道是否可以在.c文件中将其禁用,因此我添加了#pragma这样的代码:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-command-line-argument"
...
#pragma clang diagnostic pop
但是失败了。
那么,如何在源文件中完全禁用此警告?
答案 0 :(得分:0)
您无法通过在.c
源代码中写的任何内容来抑制此诊断
文件,因为已经检测到诊断原因并发出了诊断
在读取.c
源文件之前,您可以使用此源文件进行观察:
失败。c
#error Stop right here
和:
$ clang -c -fno-objc-exceptions fail.c
clang: warning: argument unused during compilation: '-fno-objc-exceptions' [-Wunused-command-line-argument]
fail.c:1:2: error: Stop right here
#error Stop right here
^
1 error generated.
诊断的原因是-fno-objc-exceptions
仅是一个选项
适用于Objective C或Objective C ++的编译以及clang推断我们是
仅根据文件名fail.c
具有扩展名的事实来编译C,而不是目标或目标C ++
.c
,而不是.m
或.mm