Giả sử tôi đang làm việc trên một cơ sở mã lớn có cảnh báo w44101
được bật theo mặc định. Có nghĩa là nếu tôi đi vào dự án của tôi và nhấp chuột phải tài sản -> C/C++ -> Dòng lệnh ->/w44101
xuất hiện trong phần tùy chọn bổ sung.Làm thế nào để vô hiệu hóa cảnh báo cụ thể được thừa hưởng từ cha mẹ trong Visual Studio?
Tôi muốn có thể tắt cảnh báo này bằng cách thay đổi cấu hình thay vì mã nguồn. Tôi đã cố gắng đi vào tài sản -> C/C++ -> Tất cả các tùy chọn -> Vô hiệu hóa cảnh báo cụ thể và đặt trong 4101
, và điều này thực sự sản xuất một thuộc tính /wd"4101"
-> C/C++ -> Command Line. Tuy nhiên, khi tôi biên dịch dự án của tôi, nó vẫn ném cảnh báo 4101
. Tại sao không /wd"4101"
và /w44101
hủy nhau?
Tôi đang sử dụng Windows 10 với Visual Studio 2015. Cách chính xác để tắt cảnh báo này là gì? Sẽ tốt hơn nếu các giải pháp được đề xuất có thể được gọi với một số loại hàm trong CMake vì tệp .sln
của cơ sở mã này được tạo bởi CMake.
EDIT: Mã cơ sở này tôi đang làm việc trên có thiết lập cờ biên dịch chặt chẽ theo mặc định. Nó được biên dịch với /W4
và /WX
. Cũng thêm mức 4 cảnh báo, đến tên một vài ví dụ, /w44101
, /w44062
, /w44191
, vv
Nhìn vào tiết xây dựng log. Lựa chọn nào cuối cùng trong lệnh biên dịch? Nếu cha mẹ đặt nó trong phần dòng lệnh, bạn có thể cũng muốn đặt nó trong phần dòng lệnh, chứ không phải trong phần "vô hiệu cảnh báo cụ thể". –
@ n.m. Bạn có quyền ... Nếu tôi tự di chuyển 'wd4101' sang tùy chọn bổ sung SAU 'w44101' nó thực sự biên dịch. Bây giờ tôi chỉ cần tìm ra cách để làm điều này trong CMake. Nếu bạn biết xin đừng ngần ngại viết một câu trả lời và tôi sẽ chấp nhận nó. – user3667089
Khắc phục sự thiếu nhất quán 4101 so với 44101 của bạn. Nếu bạn không thể sửa chữa câu hỏi của bạn, sau đó chúng tôi không muốn lãng phí thời gian giúp bạn khi bạn chứng minh rằng bạn không lắng nghe ý kiến của chúng tôi. – Phil1970