我想删除项目中特定文件的编译器标志。如何使用#pragma
?
答案 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下进行标记可以获得更多响应。