2008-09-25 60 views
40

Khi phát triển một ứng dụng C++, tôi đã phải sử dụng thư viện của bên thứ ba đã tạo ra một lượng cảnh báo khổng lồ liên quan đến một chỉ thị #pragma vô hại đang được sử dụng.Làm thế nào để vô hiệu hóa cảnh báo #pragma?

../File.hpp:1: warning: ignoring #pragma ident 
In file included from ../File2.hpp:47, 
       from ../File3.hpp:57, 
       from File4.h:49, 

Có thể tắt cảnh báo này khi sử dụng trình biên dịch GNU C++ không?

Trả lời

18

Có thể thấy GCC Diagnostic Pragmas? Ngoài ra, trong trường hợp này, bạn có thể sử dụng số combination of options để kích hoạt -Wall, ngoại trừ -Wunknown-pragmas.

+0

Tôi là một người nói tiếng Anh bản xứ và trang GCC Diagnostic Pragmas hoàn toàn không thể hiểu được. –

90

Tôi tin rằng bạn có thể biên dịch với

-Wno-unknown-pragmas 

để ngăn chặn chúng.

+4

Cảm ơn! Điều này nên được chấp nhận! Nó là người duy nhất (ở đây) làm việc với trình biên dịch GCC C++. – Bitterblue

23

Trong GCC, biên dịch với -Wno-biết-pragmas

Trong MS Visual Studio 2005 (câu hỏi này không được gắn thẻ với gcc, vì vậy tôi thêm này để tham khảo), bạn có thể vô hiệu hóa toàn cầu trong dự án Cài đặt-> C/C++ -> Nâng cao. Nhập 4068 trong "Cảnh báo cụ thể Disable"

hoặc bạn có thể thêm video này vào bất kỳ tập tin để vô hiệu hóa các cảnh báo tại địa phương

#pragma warning (disable : 4068) /* disable unknown pragma warnings */ 
6

Cảm ơn ngươi, mỗi người cho tip. Trong trường hợp của tôi, tôi làm việc với Qt Mingw. Tôi cần đặt cờ theo cách khác, trong tệp .PRO của tôi:

QMAKE_CXXFLAGS_WARN_ON += -Wno-unknown-pragmas 
+2

Nếu bạn đang biên dịch mã C thay vì C++, hãy sử dụng QMAKE_CFLAGS_WARN_ON + = -Wno-unknown-pragmas – redteam316

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