2012-03-29 13 views
20

जब SCons साथ निर्माण, मैं यह इसलिए की तरह बजना उपयोग करने के लिए कॉन्फ़िगर कर सकते हैं:स्कैन के तहत रंगीन आउटपुट क्यों नहीं दिखाया जाता है?

env["CXX"] = "clang++" 

हालांकि, यह रंग जानकारी है कि आउटपुट बजना संरक्षित करने के लिए प्रतीत नहीं होता। मैं रंग को संरक्षित कैसे कर सकता हूं?

+0

तुम्हारा मतलब है: आप कैसे * SCons * प्रारूप उत्पादन की रक्षा कर सकता हूँ [...]? –

+0

यह '-fdiagnostics-color = auto' –

उत्तर

33

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

अपने SConstruct और रंग के लिए निम्न फिर से काम करना चाहिए जोड़ें:

import os 
env['ENV']['TERM'] = os.environ['TERM'] 
+0

के साथ जीसीसी पर भी लागू होता है मेरे लिए यह सरल बनाने (क्यूमेक द्वारा उत्पन्न मेकफ़ाइल) के लिए भी काम करने में विफल रहता है। यह पहले काम करता था, कोई संकेत नहीं था कि क्या बदल सकता था (TERM = xterm):/ – Trass3r

+0

क्या यह अभी भी अनुशंसित समाधान है? मैंने कोशिश की लेकिन क्लैंग अभी भी मेरे टर्मिनल और स्कैन के साथ रंग नहीं देगा। मेरे लिए टीईआरएम 'xterm-256color' है। जब मैं 'clang ++ -fcolor-diagnostics' आज़माता हूं तो मुझे रंग दिखाई देता है। – jonr

+0

यह अभी भी उन टीईआरएम सेटिंग्स का उपयोग कर क्लैंग 3.7 और स्कैन 2.4.1 के साथ ठीक काम करता है (टीएमएम के अंदर टीईआरएम = स्क्रीन के साथ भी काम करता है) कुछ और होना चाहिए जो आपके मुद्दों का कारण बन रहा है। – richq