我正在做一个项目,在该项目中我使用了新的 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(最好)相比,这个版本的问题也更多。

10-07 18:51