2012-09-01 8 views
5

मैं जीसीसी संस्करण 4.2.1 के साथ ओएसएक्स 10.8 पर बूस्ट 1.48 का उपयोग कर सॉफ़्टवेयर का निर्माण कर रहा हूं और मुझे कुछ बूस्ट स्रोत के लिए -Wparentheses-equality चेतावनियां मिलना शुरू हो गया है।मौन -पंथी-समानता त्रुटि

equality comparison with extraneous parentheses 
    [-Werror,-Wparentheses-equality] 
     else if((state->type == syntax_element_long_set_rep)) 

मैं कोड बदल जाएगा लेकिन मैं, पुस्तकालय के साथ टिंकर मैं कैसे चेतावनी मौन हैं और संकलक जारी रखने के लिए बनाने चाहते है?

उत्तर

10
GCC manual से

:

इनमें से अधिकांश है सकारात्मक और नकारात्मक दोनों रूपों; -ffoo का नकारात्मक रूप -fno-foo होगा।

-Wno-parentheses-equality आज़माएं।

+0

इस पर काफी नया है, क्या आपका मतलब है कि मुझे मेक कमांड के लिए तर्क के रूप में -नो-कोष्ठक-समानता जोड़नी चाहिए? मैंने कोशिश की और मुझे अभी भी –

+0

@jonathantopf नहीं त्रुटि मिलती है, यह संकलक के लिए एक विकल्प है। यदि आप मेक का उपयोग कर रहे हैं तो आमतौर पर यह एक चर में संग्रहीत किया जाता है जैसे उदा। 'CXXFLAGS'। '-Wall' (एक सामान्य विकल्प जो वहां भी संग्रहीत किया जाएगा) को देखने का प्रयास करें और इसके आगे इस विकल्प को जोड़ें। –

3

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

बजना के तर्क --system-header-prefix=<prefix>

इसलिए उदाहरण के लिए आप कह सकते हैं "--system-header-prefix=boost/"

http://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-in-system-headers

और त्रुटि संदेश द्वारा पहचानने आप वास्तव में बजना और नहीं जीसीसी का उपयोग कर रहे है।

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