2017-08-20 18 views
5

मैं, एक सी ++ 11/14 परियोजना पर Core Guidelines checker tool उपयोग करने के लिए VS2015 के तहत की कोशिश करना चाहते हैं के लिए सी ++ कोर दिशानिर्देश परीक्षक को अक्षम करें।चुनिंदा तृतीय पक्ष लाइब्रेरी

मेरे कोड में मैं बूस्ट से कई पुस्तकालयों का उपयोग करता हूं जो बहुत सी चेतावनी उत्पन्न करता है। मैं उन चेतावनियों से चिंतित नहीं हूं, क्योंकि बूस्ट बहुत चालाक काम कर रहा है और पुस्तकालयों को दिशानिर्देशों के अनुरूप नहीं लिखा गया था, जिसे वे ज्यादातर भविष्यवाणी करते हैं।

लेकिन चेतावनी मैं अपने कोड में (कम से कम उपकरण के अनुसार) वास्तविक मुद्दों पता लगाने के लिए असमर्थ हूँ के इस तरह के एक बाढ़ के साथ।

क्या तृतीय पक्ष कोड के लिए सभी चेतावनियों को दबाने का कोई तरीका है? शायद बूस्ट हेडर को शामिल करने से पहले और बाद में कुछ विशेषता है?

मैं विज़ुअल सी ++ टीम ब्लॉग से this page पढ़ा है लेकिन मैं इसे खोजने में असमर्थ किया गया है।

+0

आप अपने प्रकार से चेतावनियों को दबाने में सक्षम हैं, है ना? प्रकार के अनुसार प्रकार जाओ। – Ripi2

+0

लेकिन मैं अपने कोड के लिए उन चेतावनियों को अक्षम नहीं करना चाहता, मैं केवल उन्हें बूस्ट के लिए दबा देना चाहता हूं ... – Francesco

उत्तर

1

वहाँ एक गैर-दस्तावेजी वातावरण चर, CAExcludePath, उस पथ में फाइलों से चेतावनी फिल्टर है। मैं आम तौर पर% CAExcludePath% सेट% पर%% के साथ चलाता हूं।

तुम भी, MSBuild से उपयोग कर सकते हैं (मिश्रित सफलता के साथ) एक उदाहरण के लिए यहाँ देखें: Suppress warnings for external headers in VS2017 Code Analysis

MSVC जीसीसी की प्रणाली हेडर के लिए इसी तरह कुछ है कि इस समस्या का एक अधिक व्यापक समाधान होना चाहिए पर काम कर रहा है।

1

वर्तमान में, वी.एस. में, सुविधा तीसरे पक्ष के पुस्तकालयों से चेतावनी को दबाने के लिए अभी भी प्रयोगात्मक लेकिन निश्चित रूप से आ रहा है।

वी.एस. 2017 संस्करण 15.6 पूर्वावलोकन 1 एक सुविधा तीसरे पक्ष के पुस्तकालयों से चेतावनी को दबाने के लिए के साथ आता है। अगले लेख में, वे "बाहरी हेडर" का उपयोग किसी शब्द के रूप में तृतीय पक्ष पुस्तकालयों से शीर्षकों के संदर्भ में करते हैं।

https://blogs.msdn.microsoft.com/vcblog/2017/12/13/broken-warnings-theory/

उपरोक्त लेख मूल रूप से कहा गया है कि

  • उन लोगों से चेतावनी को दबाने के लिए बाहरी हेडर

के लिए चेतावनी स्तर को निर्दिष्ट बाहरी हेडर

  • निर्दिष्ट करें। उदाहरण के लिए, यदि हमारे पास some_lib_dir निर्देशिका में बाहरी शीर्षलेख हैं और my_prog.cpp में हमारे कोड को संकलित करना चाहते हैं जो बाहरी शीर्षकों पर निर्भर करता है, तो निम्न आदेश को नौकरी करना चाहिए।

    cl.exe /experimental:external /external:I some_lib_dir /external:W0 /W4 my_prog.cpp

    नोट क्योंकि यह अभी भी एक प्रायोगिक सुविधा है कि /experimental:external की आवश्यकता है, और इस सुविधा का ब्यौरा भविष्य में बदल सकता।

    वैसे भी, हमें विजुअल स्टूडियो की भविष्य की रिलीज की प्रतीक्षा करनी होगी।

  • संबंधित मुद्दे