0

我想在我的项目中删除一个实用文件的编译器标志。如何使用#pragma

4

3 回答 3

2

只能使用 覆盖控制警告的标志#pragma,请参阅诊断编译指示文档页面。

例如,您可以这样做:

#pragma GCC diagnostic ignored "-Wformat"

让 GCC 忽略不匹配的格式字符串生成的警告。

于 2010-12-02T10:02:16.907 回答
2

抱歉,这已经晚了,但我刚刚在我的项目中遇到了同样的问题。

我找不到 #pragma 来修改编译器标志列表,但我可以使用 GNU Make 的能力来修改每个目标的 make 变量。

我的一个文件要花很长时间才能编译-fvar-tracking-assignments(它在几个版本中被添加到 -O2 中)。我正在寻找一种方法来为一个文件关闭它;在(徒劳地)寻找适当的编译指示之后,我只是将这一行添加到我的 makefile 中,以便CXXFLAGS在编译和链接这些特定文件时进行修改:

ObtuseObj.o ObtuseObjTest.o ObtuseObjTest : CXXFLAGS += -fno-var-tracking-assignments

希望这对其他人有帮助!

于 2011-06-05T05:03:49.027 回答
0

我不确定 gcc 是否有这样的编译指示。我在gcc 页面上找不到 pragmas 的任何内容。

如果您下次要问与 gcc 相关的问题,请在 gcc 下标记它。我会标记它,但我不能。在 gcc 下添加标签会让你得到更多的回应。

于 2010-07-01T12:42:35.240 回答