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,


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值