Я використовую *compilation*
буфер для створення програми C ++ на Centos 5 і Centos 6. Буфер показує збірку і включає посилання на файли, що входять до складу збірки. Однак я отримую контрольні символи, як, наприклад, ^[
з'являються у висновку, і це важко читати, а Emacs отримує пошкоджені імена файлів, коли ви клацаєте на одному у вихідному. Я думаю, що ці символи - це якась забарвлення чи інша примітка на виході компілятора, але я не знаю, звідки вони беруться. Ось зразок виводу:
cc -c -g -I../machind -I. -DRELEASE_VERSION -g -O2 -m64 -D__BITS64 -pipe -DARCH_64 -DARCH_INTEL -DARCH_X86 -DARCH_X86_64 -DOS_LINUX -pthread -DLM_INTERNAL -DFLEXLM_KITBUILD -DFLEX_STATIC -DRELEASE_VERSION -DGPLATFORM=\\"x64_lsb\\" -DLINUX -DLSB3_0 -D__FD_SETSIZE=65535 -DGLIBC -DLINUX64 -DAMD64 -DREDHAT -DREL -DRHLINUX64 -DPLATFORM_AMD64_RHLINUX -DNO_ACTIVATION_SUPPORT ../machind/lmcrypt.c
^[[01m^[[K../machind/lmcrypt.c:^[[m^[[K In function ^[[01m^[[Kmain^[[m^[[K :
^[[01m^[[K../machind/lmcrypt.c:156:47:^[[m^[[K ^[[01;35m^[[Kwarning: ^[[m^[[Kcast to pointer from integer of different size [-Wint-to-pointer-cast]
lc_set_attr(lm_job, LM_A_MAX_LICENSE_LEN, (LM_A_VAL_TYPE)max);
^[[01;32m^[[K ^^[[m^[[K
Як я можу позбутися нетекстового виводу в моєму буфері компіляції?
ansi-color-apply-on-region
може бути повільним, я написав цей фрагмент кілька тижнів тому: de-ansi.el . Я не мав наміру бути пакетом, і тому він має залежність від пакета брелоків-брелоків та мого тимчасового другорядного режиму temp-mode.el . Вам також потрібно бути на emacs 24.4 або пізнішої версії для функції сповіщення файлів.
-fdiagnostics-color=never
наgcc
(припускаючи, щоgcc
це вашcc
)