我正在做一个项目,在该项目中我使用了新的 c++11 标准。
正因为如此,库中的很少包含头文件现在会生成警告 -Wliteral-suffix
,我会抑制它的包含。
我找到了一个使用编译指示的简单解决方案,但它对我不起作用
How to suppress GCC warnings from library headers?
这是我当前的代码:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wliteral-suffix"
#include <pylon/PylonBase.h>
#include <pylon/InstantCamera.h>
#include <pylon/TlFactory.h>
#pragma GCC diagnostic pop
库生成的所有当前警告如下所示:
/opt/pylon3/genicam/library/CPP/include/Base/GCException.h:272:105: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix]
我正在使用
gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
最佳答案
我认为您必须使用相反的方法: -Wno-literal-suffix
。与旧的 4.7.2(最好)相比,这个版本的问题也更多。