【发布时间】:2017-09-24 08:39:08
【问题描述】:
我有一个使用tinyxml2 库的项目。我有一个很长的编译器选项列表,其中列出了-Werror=zero-as-null-pointer-constant。所以,无论我在哪里包含tinyxml2.h,我都有错误:0 used as null pointer,但是我的代码没有这样的问题。有没有办法禁用包含的某些编译器选项,因为我无法控制它们?
附:如果不可能通过gcc/clang 选项来做,也许可以通过cmake 来做?或者我想知道这两种方式是否存在。
【问题讨论】:
-
GCC 和 Clang 都有 pragmas 来(可能暂时)禁用警告。 The GCC online documentation 可能是一个开始寻找的好地方。
-
... 如果您不想在所有 your 代码中乱扔杂注,请创建一个仅包含
tinyxml2.h的标头并包含 that 在您的源代码中。然后,如果需要,您可以在一个地方添加对更多编译器的支持。