2013-06-06 85 views
5

Chúng tôi sử dụng VS 2008 Professional và Qt Visual Studio Add-In để phát triển ứng dụng Qt 4.8.4. Tôi muốn đặt mức cảnh báo thành 4 (tất cả các cảnh báo), nhưng chỉ cho mã của chúng tôi. Nếu tôi đặt mức cảnh báo> = 2 trong thuộc tính dự án, tôi nhận được hàng trăm cảnh báo từ tệp tiêu đề Qt, chúng tôi #include.Vô hiệu hóa cảnh báo Qt trong Visual Studio 2008

Thật không may, có vẻ như VS không có tùy chọn hệ thống tương tự của gcc. Tôi đã thử đính kèm Qt #include s giữa #pragma warning(push, 0)#pragma warning(pop) với thành công hạn chế. Tệp coc moc _ *. Cpp được tạo tự động vẫn gây cảnh báo về mã trong các tệp tiêu đề Qt. Nó cũng khá cồng kềnh.

Bạn có biết cách nào khác để đạt được điều này không? Tôi thấy khó tin rằng tất cả người dùng Qt/MSVC đều có cảnh báo bị tắt tiếng hoặc lướt qua hàng trăm cảnh báo không liên quan sau khi xây dựng.

+0

Tôi hiện đang biên dịch hầu hết mã của mình (sử dụng Qt + libs khác) với mức cảnh báo 1. Tuy nhiên, tôi muốn tăng điều đó vì nó có nhiều hơn một vài lần. – drescherjm

Trả lời

0

Tôi chỉ tìm thấy một cách để thực hiện việc này: chạm vào hầu hết mọi tệp tiêu đề Qt và bao gồm #pragma warning(push, 0)#pragma warning(pop) ở đúng vị trí. Tôi đã thử điều này một lần nhưng đã từ bỏ khi phiên bản Qt tiếp theo được xuất bản.

Một khả năng khác để giảm cảnh báo là tắt cảnh báo cụ thể trong tệp qmake.conf đúng (ví dụ: trong mkspecs \ win32-msvc2010).

Tôi đã thay đổi một số dòng trong tập tin này:

QMAKE_CFLAGS_WARN_ON = -W4 -w34100 -w34189 -wd4127 -wd4512 
QMAKE_CFLAGS_RELEASE = -Ox -MD 
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -Ox -MD -Zi 
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON