2012-04-17 12 views
7

Tôi đã thiết lập buildbot để biên dịch ứng dụng Qt/C++ của tôi với cờ/phân tích.Làm cách nào để loại trừ tiêu đề thư viện khỏi phân tích mã tĩnh Visual Studio của tôi?

Tuy nhiên các phân tích cũng được đào sâu vào các tiêu đề qt mà tôi không quan tâm đến:

c:\qt\qt-everywhere-opensource-src-4.8.1\src\corelib\tools\qvector.h(547) : warning C6011: Dereferencing NULL pointer 'x.p': Lines: 474, 475, 476, 477, 478, 480, 491, 493, 497, 498, 499, 500, 503, 504, 518, 519, 520, 521, 522, 525, 545, 547 

Whats cách tốt nhất để loại trừ những tập tin này en khối lượng?

(Xin lưu ý tôi không sử dụng các IDE, Tôi đang tìm kiếm một dòng lệnh, chuyển đổi hoặc mã thay đổi)

+0

Bản sao có thể có của [Cách chặn cảnh báo trong tiêu đề bên ngoài trong Visual C++] (http://stackoverflow.com/questions/2541984/how-to-suppress-warnings-in-external-headers-in-visual-c) – cambunctious

Trả lời

8

Bạn có thể vô hiệu hóa tất cả các cảnh báo phân tích mã cho một khối mã cụ thể sử dụng #pragma warning trong mã của bạn. MSDN cung cấp các ví dụ sau:

#include <codeanalysis\warnings.h> 
#pragma warning(push) 
#pragma warning (disable : ALL_CODE_ANALYSIS_WARNINGS) 
#include <third-party include files here> 
#pragma warning(pop) 

(. Xem "How to: Enable and Disable Code Analysis for Specific C/C++ Warnings" để biết thêm thông tin)

Để theo sự hiểu biết của tôi, không có cách nào để vô hiệu hóa các cảnh báo từ các tập tin tiêu đề đặc biệt chỉ sử dụng tùy chọn dòng lệnh.