code::blocks gcc wxwidgets wxsmith纠结的汉字

下面的文字引自:http://hi.baidu.com/cenxcen/blog/item/1f6e021fa503930d403417ad.html

在这里只是做一下引用,防止以后忘记.

 

code::blocks gcc wxwidgets wxsmith纠结的汉字
2011-01-03 17:36

code::blocks 10.05

mingw gcc 4.4.1

wxwidgets 2.9.1

windows xp

在code blocks中将编码设置为默认(settings -> editor... -> general settings -> encoding -> default),这是源代码文件将被保存为ansi格式。在这种格式下使用wxwidgets时,中文无需任何处理,直接在代码中写在双引号中即可。程序运行时可以正常显示和处理。当然wxwidgets编译时需要支持uncode。并不像有人说的需要设置个附加的编译选项 " -finput-charset=GBK "。

如果把默认编码设置为windows-936,那么_("汉字")这样的文字都无法编译。必须要设置个附加的编译选项 " -finput-charset=GBK "才可以正常编译。

wxSmith设计的界面元素中的汉字大部分默认生成的代码形如  _("汉字") 这样。如果编码默认设置为utf-8,那么可以正常编译,但是显示是乱码。自己写的代码如果使用形如 _T("汉字") 来处理汉字,在utf8编码下可以正常显示。可以修改codeblocks项目文件(*.cbp文件)来让它默认生成_T的字符串,参见:

      <Extensions>
         <code_completion />
         <debugger />
         <wxsmith version="1">
            <gui name="wxWidgets" src="sssApp.cpp" main="sssFrame" init_handlers="necessary" language="CPP" />
            <resources>
               <wxFrame wxs="wxsmith/sssframe.wxs" src="sssMain.cpp" hdr="sssMain.h"fwddecl="1" i18n="0" name="sssFrame" language="CPP" />
               <wxDialog wxs="wxsmith/NewDialog.wxs" src="NewDialog.cpp" hdr="NewDialog.h"fwddecl="1" i18n="0" name="NewDialog" language="CPP" />
               <wxPanel wxs="wxsmith/NewPanel.wxs" src="NewPanel.cpp" hdr="NewPanel.h"fwddecl="1" i18n="0" name="NewPanel" language="CPP" />
            </resources>
         </wxsmith>
      </Extensions>

控制台项目(xp下运行的)需要附加编译选项 " -finput-charset=GBK ",因为windows xp的控制台默认编码是gbk,


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值