让你的GCC编译器变得可爱!
本项目通过修改GCC的输出信息的本地化文件的方式让GCC变得可爱。
欢迎贡献更多有趣的内容。
依赖
- GNU GCC
- GNU Gettext
如何使用?
Linux (以Ubuntu为例)
-
安装中文 (如果没有安装)
1sudo apt-get install language-pack-zh-hans language-pack-zh-hans-base -
安装
gcc,gettext和g++.1sudo apt-get install gcc gettext g++ -
安装
gcc locales通过以下命令检查你的
gcc版本号1gcc -v我这里是12.3.0.所以我的主版本号是12,安装
gcc-12-locales1sudo apt-get install gcc-12-locales -
找到你的语言文件的路径。默认会在
/usr/share/locale/zh_CN/LC_MESSAGES/gcc.mo. 不过你也有可能找不到该文件或者找到名为gcc-12.mo的文件。如果已有相关文件,备份之。 (eg.sudo mv gcc-12.mo gcc-12.mo.bak) 如果没有相关文件,无需担心,什么都不需要做。 -
通过以下命令下载仓库中的
mo文件然后将其复制到刚才的路径去。1sudo wget https://github.com/Bill-Haku/kawaii-gcc/raw/main/prebuilt/gcc-zh.mo -O /usr/share/locale/zh_CN/LC_MESSAGES/gcc-12.mo您也可以自行重新编译该二进制文件:
1 2 3make merge-zh msgfmt gcc-zh.po -o gcc.mo sudo cp gcc.mo /usr/share/locale/zh_CN/LC_MESSAGES/gcc-12.mo或
1make关于文件名:
- 如果你在上个步骤找到了相关文件,请直接使用原本的名字。
- 如果没有,首先使用
gcc-<主版本号>.mo。如果发现不起作用,将其重命名为gcc.mo.
-
修改环境变量以将终端语言改为中文:
1 2 3 4 5 6 7 8vim ~/.bashrc # Add the following lines export LANG="zh_CN.UTF-8" export LANGUAGE="zh_CN.UTF-8" # Save it in Vim source ~/.bashrc -
现在你的GCC已经变得可爱了。
你可以使用附带的
test.cc来试试效果。1 2gcc test.cc -Wall # -Wall 表示让GCC输出所有警告信息
Windows
-
安装 Cygwin。
步骤:- 下载并运行 setup-x86_64.exe
- 在
选择下载源(Choose A Download Source) 步骤时选择从互联网安装(Install from Internet)

- 在
选择软件包(Select Packages) 步骤时, 将查看(View) 设为类别(Category) 并依次搜索 (Search) 并选择 ALL/Devel 下的gcc-core,gcc-g++和gettext的版本
-
假设你的 Cygwin 安装目录 (注意不是软件包下载目录) 为
<DIR>(默认应该是C:\cygwin), 将目录<DIR>\bin目录添加到环境变量Path中 (如果Path中已经有 mingw 了, 请删除或者移到<DIR>\bin的下方), 并额外增加一条环境变量LANG, 设置为zh_CN.UTF-8 -
将本仓库的
prebuilt目录下的gcc-zh.mo放到<DIR>\usr\share\locale\zh_CN\LC_MESSAGES目录下, 并将其重命名为gcc.mo(建议先将原来的gcc.mo备份)

macOS
暂未实现。欢迎贡献。
如何修改/贡献
前往./src目录,使用文本编辑器打开并编辑zh-kawaii.po。可以修改已有的内容,也可以根据原始简体中文本地化文件增加新内容。编辑完成后运行make指令合并文件,并将其编译成mo文件后拷贝到指定的地方。
关于src目录下的文件
zh_CN.po: GNU提供的原始简体中文版本地化文件。zh_kawaii.po: 本项目已修改的本地化内容。
如果您愿意参与贡献本项目
请在PR时将您修改完成的编译好的mo文件放在../prebuilt目录下,以更新预编译好的本地化二进制文件。
Star History
特别鸣谢
本项目的灵感来自gcc-hentai项目。为了将其推广到日语区,我创建了本仓库、制作了日语版并修改完善了使用说明的诸多细节,最后制作了完全日语的宣传视频发布在YouTube,不料却在Bilibili获得了关注。十分感谢原作者的分享和开源精神。