waxe是为Haxe语言封装的wxWindow库,实验了下用起来比较方便,但是不能正确显示中文,搜了下发现它的代码中使用了ascii来处理文字,修改代码后成功。
步骤如下:
1.安装waxe, waxe-works, hxcpp
haxelib install waxe
haxelib install waxe-works
haxelib install hxcpp
2.安装Visual Studio 2013,最新Haxe是用2013编译的。
打开安装目录下的 lib\waxe\3,1,1\project\src\HaxeAPI.cpp,修改Val2Str函数如下:
wxString Val2Str(value inVal)
{
if (val_is_string(inVal))
returnwxString::FromUTF8( val_string(inVal) );
if (val_is_object(inVal))
{
value __s = val_field(inVal,val_id("__s"));
if (val_is_string(__s))
returnwxString::FromUTF8( val_string(__s) );
}
else if (val_is_object(inVal))
return val_bool(inVal) ? wxString(wxT("true")) : wxString(wxT("false"));
//wxMessageBox(wxT("Bad string translation"));
return wxT("");
}
就是用FromUTF8替换FromAscii
3.编译waxe
进入waxe目录下的project文件夹,里面有Build.xml这个文件。
用haxelib编译
haxelib run hxcpp Build.xml
编译成功后就ok了,上个图:
网友评论