2016-06-03 10 views
7

मैं अपने स्रोत बेस में अपनी फाइलों पर cppcheck को कॉल करता हूं। हालांकि, कुछ स्रोत फ़ाइलों में तृतीय पक्ष पुस्तकालयों से हेडर फाइलें शामिल हैं, ./lib/some_library/ से कहें। ये स्वचालित रूप से cppcheck द्वारा पार्स किए जाते हैं।Cppcheck: तृतीय पक्ष शीर्षलेख फ़ाइलों की निर्देशिका को कैसे छोड़ें?

मुझे यह नहीं चाहिए, क्योंकि मैं तीसरे पक्ष के कोड पर चेतावनियां नहीं देखना चाहता हूं। क्या इस से निकाल पाने के लिए कोई तरीका है?

how can i tell cppcheck to skip a header file के साथ अंतर यह है कि यह पोस्ट स्पष्ट रूप से एक संपूर्ण निर्देशिका को छोड़ने के लिए पूरी निर्देशिका छोड़ने के लिए कहता है।

+1

'मैं

' अनदेखी करने के लिए पथ देना होगा। कई पथों को अनदेखा करने के लिए कई -i पैरामीटर दें। पैरामीटर के रूप में पथ के साथ निर्देशिका नाम या फ़ाइल नाम दें। निर्देशिका नाम पथ के सभी हिस्सों से मेल खाता है। – Gluttton

+0

मेरे लिए यह कहता है: '-i

'चेक से बाहर निकलने के लिए स्रोत फ़ाइल या स्रोत फ़ाइल निर्देशिका दें। ** यह केवल स्रोत फ़ाइलों पर लागू होता है, इसलिए स्रोत फ़ाइलों द्वारा शामिल शीर्षलेख फ़ाइलें मेल नहीं खाती हैं। ** निर्देशिका का नाम पथ के सभी हिस्सों से मेल खाता है। –

+0

https: // stackoverflow देखें।कॉम/ए/38335737/792456 – arved

उत्तर

1

cppcheck पुस्तिका :: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwiQi9bV6_TTAhWpjFQKHeroAw4QFggnMAA&url=http%3A%2F%2Fcppcheck.sourceforge.net%2Fmanual.pdf&usg=AFQjCNEYSf0Cbm1L1D10t2QNJLg3Cd3EcA&sig2=nZZiA8VUZejVBDdcRDj7ig

जाँच एक फ़ाइल या फ़ोल्डर को बाहर करने के से एक फ़ाइल या फ़ोल्डर को छोड़कर के अनुसार, वहाँ दो विकल्प हैं। पहला विकल्प केवल पथ और फ़ाइलों को प्रदान करना है, जिन्हें आप देखना चाहते हैं।

cppcheck src/a src/b 

तब सभी फाइलें src/a और src/b के अंतर्गत जांच की जाती हैं।

दूसरा विकल्प -i का उपयोग करना है, इसके साथ आप अनदेखा करने के लिए फ़ाइलें/पथ निर्दिष्ट करते हैं। इस आदेश के साथ src/सी में कोई भी फ़ाइलें जाँच कर रहे हैं:

cppcheck -isrc/c src 

यह विकल्प अभी-परियोजना के विकल्प के साथ काम नहीं करता है और मान्य है जब एक इनपुट निर्देशिका की आपूर्ति।

एकाधिक निर्देशिकाओं को अनदेखा करने के लिए -i कई बार आपूर्ति करते हैं। निम्न आदेश दोनों src/b और src/c निर्देशिकाओं को अनदेखा करता है।

cppcheck -isrc/b -isrc/c 
1

एक और संभावना है एक फ़ाइल के माध्यम से छिपाता उपयोग करने के लिए ("एक फ़ाइल में लिस्टिंग छिपाता" manual अध्याय 7 देखें) या commandline के माध्यम से किया जाएगा।

आपका suppressions.txt

*:/path/to/your/thirdpartylibs/*

कौन सा उस पथ से सभी त्रुटियों को बहिष्कृत कर देगा हो सकता है। वाक्य रचना

[error id]:[filename]:[line]

* (कई पात्रों) के लिए वाइल्डकार्ड का समर्थन और ? (एकल वर्ण) के साथ

है।

कॉल cppcheck को तो होना

cppcheck --suppressions-list=suppressions.txt . 
संबंधित मुद्दे