GCC本地化-Linux

让编译器用中文输出

最后更新:

参考资料

Linux环境

  • 安装中文 (如果没有安装)

    1
    
    sudo apt-get install language-pack-zh-hans language-pack-zh-hans-base
    
  • 安装 gcc , gettextg++.

    1
    
    sudo apt-get install gcc gettext g++
    
  • 安装 gcc locales

    通过以下命令检查你的gcc版本号

    1
    
    gcc -v
    

    我这里是12.3.0.所以我的主版本号是12,安装gcc-12-locales

    1
    
    sudo apt-get install gcc-12-locales
    
  • 找到你的语言文件的路径。默认会在 /usr/share/locale/zh_CN/LC_MESSAGES/gcc.mo. 不过你也有可能找不到该文件或者找到名为gcc-12.mo的文件。

    • 如果你在上个步骤找到了相关文件,请直接使用原本的名字。
    • 如果没有,首先使用 gcc-<主版本号>.mo 。如果发现不起作用,将其重命名为 gcc.mo.
  • 修改环境变量以将终端语言改为中文:

    1
    2
    3
    4
    5
    6
    7
    8
    
    vim ~/.bashrc
    
    # Add the following lines
    export LANG="zh_CN.UTF-8"
    export LANGUAGE="zh_CN.UTF-8"
    # Save it in Vim
    
    source ~/.bashrc
    

实测ArchLinux

  • 已经是中文版
  • 已安装gcc gettext g++
  • gcc版本为13
  • 没有gcc-13-locales、但有/usr/share/locale/zh_CN/LC_MESSAGES/gcc.mo
  • 只要按上述将终端语言改为中文即可
  • 将gcc.mo替换为kawaii-gcc中的prebuilt/gcc-zh.mo(需重命名为gcc.mo)可成功
  • 将gcc.mo替换为mingw64\share\locale\zh_CN\LC_MESSAGES\gcc.mo可成功

实测Ubuntu 22.04

  • 已经是中文版
  • 已安装gcc gettext g++ gcc-11-locales
  • gcc版本为11
  • 将/usr/share/locale-langpack/zh_CN/LC_MESSAGES/gcc.mo复制到/usr/share/locale/zh_CN/LC_MESSAGES/,并改名为gcc-11.mo
  • 按上述将终端语言改为中文即可

备注:

无论是ArchLinux和Ubuntu,我确保设置了

/etc/locale.gen

1
zh_CN.UTF-8 UTF-8

/etc/locale.conf (经验证在Ubuntu 22.04上不需要也可以)

1
LANG=zh_CN.UTF-8

这两个文件我放在"\192.168.96.2\ypr-pc\软件\Linux\ArchLinux\locale配置文件.rar"

     转载说明:请附上本文链接及上述版权声明。