2010-01-21 29 views
6

Tôi tự hỏi nếu có cách nào để tắt tất cả cảnh báo trên một tệp cụ thể (ví dụ: sử dụng chỉ thị tiền xử lý).C++ Tắt cảnh báo trên một số cụ thể bao gồm

Tôi đang sử dụng CImg.h và tôi muốn loại bỏ các cảnh báo liên quan đến mã đó.

Tôi đang biên soạn cả với VS (phiên bản dành cho Windows) và gcc (Linux một), vì vậy tôi muốn có một cách chung chung ...

Cảm ơn!

Trả lời

6

Bạn có thể làm điều đó bằng #pragma trong trình biên dịch Microsoft:

http://msdn.microsoft.com/en-us/library/2c8f766e%28VS.80%29.aspx

Something như thế này:

#pragma warning (push, 0) 

//....header file 

#pragma warning (pop) 

Không thể giúp bạn với trình biên dịch gcc, một số thông tin ở đây: Selectively disable GCC warnings for only part of a translation unit?

EDIT EDIT Thử push, 0.

+0

Nhưng cảnh báo #pragma dự kiến ​​số/mã cảnh báo bạn muốn vô hiệu hóa ... bạn sẽ vô hiệu hóa * tất cả * như thế nào? Thx để trả lời. – huff

+0

Hầu như! Cảnh báo cấp 1 vẫn tạo ra thứ gì đó. May mắn thay, thử cảnh báo #pragma (push, 0) * làm * hoạt động (mặc dù cấp đó không được chỉ định trên trang msdn). Bây giờ cho câu trả lời gcc ... (mặc dù bạn đã có được câu trả lời chính xác - bạn có thể chỉnh sửa câu trả lời chính xác hơn: D) – huff

+0

Ồ, tuyệt vời, tôi đã cố gắng thử cấp 0 nhưng chưa tìm thấy cảnh báo cấp 1 kiểm tra trên ... –

1

Nhìn vào #pragma warning.

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