使用Pragma删除GCC中的标志

时间:2010-07-01 12:29:44

标签: gcc pragma

我想删除项目中特定文件的编译器标志。如何使用#pragma

执行此操作

3 个答案:

答案 0 :(得分:2)

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

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

我的一个文件正在用-fvar-tracking-assignments进行编译(在一些版本中添加了-O2)。我正在寻找一种方法来关闭一个文件;在查找(徒劳)获得适当的编译指示之后,我只是将这一行添加到我的makefile中,以便在编译和链接这些特定文件时修改CXXFLAGS

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

希望这对其他人有帮助!

答案 1 :(得分:1)

只能使用#pragma覆盖控制警告的标记,请参阅diagnostic pragmas文档页面。

例如,你可以这样做:

#pragma GCC diagnostic ignored "-Wformat"

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

答案 2 :(得分:0)

我不确定gcc是否有这样的pragma。我在gcc page for pragmas上找不到任何内容。

如果您下次询问与gcc相关的问题,请将其标记在gcc下。我会标记它,但我不能。在gcc下进行标记可以获得更多响应。