2012-03-29 39 views
20

Khi xây dựng với scons, tôi có thể cấu hình nó để sử dụng kêu vang như vậy:Tại sao thiết bị không hiển thị màu dưới Scons?

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

Tuy nhiên, nó dường như không giữ gìn những thông tin màu Clang đầu ra. Làm thế nào tôi có thể làm cho scons bảo tồn màu sắc?

+0

Bạn có nghĩa là: làm thế nào để bạn thực hiện * scons * bảo đầu ra định dạng [...]? –

+0

Điều này cũng áp dụng cho gcc với '-fdiagnostics-color = auto' –

Trả lời

33

Theo số clang documentation, màu chỉ được bật khi thiết bị đầu cuối có khả năng nhận diện màu. SCons không tự động chuyển tất cả các biến môi trường cho quá trình chạy trình biên dịch, bạn đã vượt qua chúng một cách rõ ràng. Và TERM không được thông qua để kêu vang.

Thêm dòng sau vào SConstruct và màu sắc bạn nên làm việc một lần nữa:

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

Đối với tôi nó thậm chí không hoạt động để tạo ra đơn giản (Makefile được tạo bởi qmake). Nó được sử dụng để làm việc trước đây, không có đầu mối những gì có thể đã thay đổi (TERM = xterm):/ – Trass3r

+0

Đây có phải là giải pháp được khuyến nghị không? Tôi đã thử nó nhưng clang vẫn sẽ không tạo ra màu sắc với thiết bị đầu cuối và scons của tôi. TERM cho tôi là 'xterm-256color'. Khi tôi thử 'clang ++ -fcolor-diagnostics' tôi thấy màu sắc. – jonr

+0

Điều này vẫn hoạt động tốt với clang 3.7 và scons 2.4.1 sử dụng các thiết lập TERM (cũng hoạt động với TERM = màn hình bên trong tmux) phải là cái gì đó khác gây ra vấn đề của bạn. – richq

Các vấn đề liên quan