Code::Blocks(MinGW)编译资源文件时中文乱码的解决方案及补充

前言

今天编译了一个DLL文件,并想为它添加一点版本信息的时候发现,所有输入的中文都变成了乱码~

老规矩叫出Google搜寻了一番

最后找到了一篇《MinGW 编译资源文件时中文乱码的解决方案》 提出了解决办法,但是,完全按照上面的操作后,还是有乱码~

 

正文

Code::Blocks(MinGW)编译资源(*.rc)时出现中文乱码——准确的说是Windres.exe出现了问题

解决办法就是在Windres.exe中设置语言编码格式,即-l "LANGUAGE 4,2"

 

使用Code::Blocks的话 :

右键RC文件→属性...→高级→勾选 使用自定义命令编译这个文件
添加命令:$rescomp -i $file -l "LANGUAGE 4,2" -J rc -o $resource_output -O coff $res_includes

 

使用MinGW或者直接用Makefile 的话:

按以下命令方式改吧。
windres -i test.rc -l "LANGUAGE 4,2" -J rc -o test_res.o -O coff

 

补充

在完成上面的操作后,我发现我编译出来的还是乱码

看来还有问题——文本编码(本人Code::Blocks默认使用的是UTF-8)

上面的操作是设置了*.rc语言编码格式,自然它就会把*.rc当成此编码格式格式编译,但是*.rc本身的文本编码格式不符合前面设置的要求时,乱码还是会出现了

应此,要把*.rc的文本格式(本人原来默认使用的是UTF-8)设置成系统默认的(WINDOWS-936)

在Code::Blocks中编辑 ->文本编码->系统默认,保存,再编译,剩下的自己看吧

 

P.S 用记事本默认编辑保存的*.rc的文件,按照《MinGW 编译资源文件时中文乱码的解决方案》 中的办法操作后就可以了无需另外修改编码

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Code::Blocks 是一个开源的集成开发环境(IDE),主要用于编写和调试C、C++和Fortran程序。如果 Code::Blocks 无法编译C程序,可能存在以下几个可能的原因: 1. 缺少C编译器Code::Blocks 需要与C编译器一起使用才能编译C程序。确保已经安装了适当的C编译器,例如MinGW(Windows平台上的常见选择)或GCC(Linux平台上的默认编译器)。可以通过在Code::Blocks的设置中配置编译器路径来解决此问题。 2. 配置问题:在Code::Blocks中,需要正确配置编译器才能进行编译。检查Code::Blocks的编译器设置,确保已选择正确的编译器,并且路径设置正确。 3. 代码错误:如果代码中存在语法错误或逻辑错误,编译器将无法将其编译成可执行程序。在编译之前,请确保代码正确且没有错误。 4. 编译器版本不兼容:Code::Blocks可能不兼容特定版本的编译器。尝试使用不同的编译器版本或更新Code::Blocks版本,以解决此类问题。 5. 系统环境问题:某些系统环境可能会导致Code::Blocks无法编译C程序,例如缺少必要的库文件或配置错误。检查系统环境是否满足编译要求,并确保没有其他程序或设置干扰编译过程。 总之,如果Code::Blocks无法编译C程序,需要检查编译器的安装和配置,并确保代码正确且没有错误。如果问题仍然存在,可能需要考虑更换编译器或更新Code::Blocks版本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值