Sto lavorando a un progetto, in cui utilizzo il nuovo standard C++ 11. Per questo motivo, alcune inclusioni di intestazione da una libreria ora generano l'avviso -Wliteral-suffix
, che vorrei sopprimere per ciò che include.Sopprimere l'avviso g ++ "-Wliteral-suffix" per specifiche intestazioni specifiche
ho trovato una soluzione facile per quel che utilizzano pragma, ma non funziona per me
How to suppress GCC warnings from library headers?
Questo è il mio codice corrente:
#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
Tutti gli avvisi generati da correnti la libreria ha il seguente aspetto:
/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]
I am u cantare gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
Run GCC con '-fdiagnostics-show-option' per vedere se tale avviso può essere disabilitato; potrebbe semplicemente essere che GCC ti impedisce di disabilitarlo. – slugonamission
Sembra un [bug] (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61653) –