2014-06-29 15 views
6

Tôi đang làm việc trên một dự án, trong đó tôi sử dụng tiêu chuẩn C++ 11 mới. Do đó, một vài tiêu đề bao gồm từ thư viện giờ đây tạo ra cảnh báo -Wliteral-suffix, mà tôi sẽ ngăn chặn để bao gồm.Ngăn chặn cảnh báo g ++ "-Wliteral-hậu tố" cho tiêu đề cụ thể bao gồm

Tôi đã tìm thấy một giải pháp dễ dàng cho rằng việc sử dụng pragmas, nhưng nó không làm việc cho tôi

How to suppress GCC warnings from library headers?

Đây là mã hiện tại của tôi:

#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 

Tất cả các cảnh báo hiện tại được tạo ra bởi thư viện trông giống như thế này:

/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] 

Tôi là bạn hát gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)

+0

Run GCC với '-fdiagnostics-show-option' để xem cảnh báo đó có thể bị tắt hay không; nó chỉ có thể là GCC ngăn cản bạn vô hiệu hóa nó. – slugonamission

+0

Trông giống như một [lỗi] (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61653) –

Trả lời

7

Tôi nghĩ bạn phải sử dụng hoàn toàn ngược lại: -Wno-literal-suffix. Tôi cũng gặp nhiều vấn đề hơn với phiên bản này so với phiên bản cũ 4.7.2 (tốt nhất).

Các vấn đề liên quan