2012-03-29 5 views
20

Cuando se construye con Scons, puedo configurarlo para usar sonido metálico de este modo:¿Por qué no se muestra la salida de color bajo Scons?

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

Sin embargo, no parece para preservar la información de color que CLANG salidas. ¿Cómo puedo hacer que los iconos conserven el color?

+0

decir: ¿cómo hacer scons * * conservar el formato de salida [...]? –

+0

Esto también se aplica a gcc con '-fdiagnostics-color = auto' –

Respuesta

33

De acuerdo con clang documentation, el color se habilita solo cuando se detecta un terminal con capacidad de color. SCons no transfiere automáticamente todas las variables de entorno al proceso que ejecuta el compilador, sino que las pasa explícitamente. Y TERM no pasa a clang.

Añadir lo siguiente a su SConstruct y color debería funcionar de nuevo:

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

Para mí, incluso no funciona para make simple (Makefile generado por qmake). Antes solía funcionar, no hay ninguna pista de lo que podría haber cambiado (TERM = xterm):/ – Trass3r

+0

¿Sigue siendo esta la solución recomendada? Lo probé pero el sonido aún no produce color con mi terminal y mis controles. El término para mí es 'xterm-256color'. Cuando pruebo 'clang ++ -fcolor-diagnostics' veo el color. – jonr

+0

Esto todavía funciona bien con clang 3.7 y scons 2.4.1 usando esos ajustes de TERM (también funciona con TERM = pantalla dentro de tmux) debe ser otra cosa que está causando sus problemas. – richq

Cuestiones relacionadas