MSYS2中的GCC本地化

让编译器用中文输出

最后更新:

参考资料

  • GCC本地化-Linux

注意

  • 本文是指MSYS2主环境中的gcc,不是指mingw64、ucrt64、mingw32子环境
  • 缺点是:即便静态链接,生成的exe程序还是需要msys-2.0.dll

MSYS2主环境

  • 安装
1
2
3
4
pacman -S gcc           //GNU编译器集合-C和C++前端  
pacman -S gcc-libs      //GCC提供的运行时库            我不确定是否必需
pacman -S gettext       //GNU国际化库                 
pacman -S gettext-devel //GNU国际化开发实用程序        我不确定是否必需
  • “D:\msys64\home\YuanPeirong.bashrc"加入
1
2
export LANG="zh_CN.UTF-8"
export LANGUAGE="zh_CN.UTF-8"
  • gcc.mo
    gcc版本为13
    确保有"D:\msys64\usr\share\locale\zh_CN\LC_MESSAGES\gcc.mo”

  • 外部使用

    • 方法1:设置系统环境变量
      变量名:LANG 变量值:zh_CN.UTF-8
      变量名:LANGUAGE 变量值:zh_CN.UTF-8

    • 方法2:在bat文件中写入以下变量,再启动其他外部工具

      1
      2
      
      set LANG=zh_CN.UTF-8
      set LANGUAGE=zh_CN.UTF-8
      
    • 方法3:写个exe文件设置变量,再调用真正要使用的外部工具(未测试)

    • 方法4:写个run.ps1脚本(未测试)

    • 方法5:设置临时变量,用分号执行多条命令,如:

      export LANG="zh_CN.UTF-8";export LANGUAGE="zh_CN.UTF-8";gcc -v

      export LANG="zh_CN.utf8";export LANGUAGE="zh_CN.utf8";gcc -v

      以上两条命令都有效。
      zh_CN.UTF-8zh_CN.utf8是等效的
      但gcc源码的文档中是用zh_CN.utf8描述的

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