前一段时间,使用cocos2dx 2.0,在使用中文转码的时候,老是加载出问题。
Error 1 error LNK2019: unresolved external symbol _libiconv_close referenced in function "public: int __thiscall HelloWorld::GBKToUTF8(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,char const *,char const *)" (?GBKToUTF8@HelloWorld@@QAEHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PBD1@Z) F:\cocos2d\cocos2d2\HelloWorld\proj.win32\HelloWorldScene.obj HelloWorld
Error 2 error LNK2019: unresolved external symbol _libiconv referenced in function "public: int __thiscall HelloWorld::GBKToUTF8(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,char const *,char const *)" (?GBKToUTF8@HelloWorld@@QAEHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PBD1@Z) F:\cocos2d\cocos2d2\HelloWorld\proj.win32\HelloWorldScene.obj HelloWorld
Error 3 error LNK2019: unresolved external symbol _libiconv_open referenced in function "public: int __thiscall HelloWorld::GBKToUTF8(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,char const *,char const *)" (?GBKToUTF8@HelloWorld@@QAEHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PBD1@Z) F:\cocos2d\cocos2d2\HelloWorld\proj.win32\HelloWorldScene.obj HelloWorld
,原因是在引用第三方库的时候,只写了头文件,#include "platform\third_party\win32\iconv\iconv.h"
只要在头文件附近加入
#pragma comment(lib,"libiconv.lib")
即:
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
#include "platform\third_party\win32\iconv\iconv.h"
#pragma comment(lib,"libiconv.lib")
#endif
可解决中文问题,下面附带函数:
int HelloWorld::GBKToUTF8(std::string &gbkStr,const char* toCode,const char* formCode)
{
iconv_t iconvH; iconvH = iconv_open(formCode,toCode);
if(iconvH == 0)
{
return -1;
}
const char* strChar = gbkStr.c_str();
const char** pin = &strChar;
size_t strLength = gbkStr.length();
char* outbuf = (char*)malloc(strLength*4);
char* pBuff = outbuf;
memset(outbuf,0,strLength*4);
size_t outLength = strLength*4;
if(-1 == iconv(iconvH,pin,&strLength,&outbuf,&outLength))
{
iconv_close(iconvH);
return -1;
}
gbkStr = pBuff;
iconv_close(iconvH);
return 0;
}
//-----------------------------------------------------
std::string title = "啊看见电算会计快接啊但是";
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32)
GBKToUTF8(title,"gb2312","utf-8");
#endif
CCLabelTTF* pLabel = CCLabelTTF::create(title.c_str(), "Thonburi", 24);
分享到:
相关推荐
cocos 2d-x第三方依赖库,支持cocos 2d-x加载第三方依赖的库。
cocos2dx使用第三方so库 是一分文档, cocos2dx使用第三方so库 是一分文档, cocos2dx使用第三方so库 是一分文档, 重要事情说三遍
cocos2d入门 cocos2d入门 cocos2d入门 cocos2d入门 cocos2d入门 cocos2d入门
资源名称:Cocos2d-x实战:JS卷——Cocos2d-JS开发内容简介:本书是介绍Cocos2d-x游戏编程和开发技术书籍,介绍了使用...基础篇包括第2章~第8章,Cocos2d- 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
该资源主要用于cocos2d-x中Value与json字符串的相互转换,提供从json文件读取为cocos2d::Value,cocos2d::Value写入到文件,cocos2d::Value转换为json字符串,json字符串转换为cocos2d::Value。json字符串转换成cocos...
Cocos2d添加ZJoystick遥控杆所需源文件和图片 cocos2d学习之路四(添加遥控杆)所需资源
cocos2d-x库,2.2.3版本的,参考里面的源代码学习吧
cocos2d-x-2.1.5
第1章 开始前的准备工作 1 第2章 你的第一款iPhone游戏:垂直射击游戏 38 第3章 Cocos2D核心类 69 第4章 Cocos2D中的动作、特效与动画 152 第5章 Cocos2D中的文本渲染系统 229 共19章
cocos2d-x游戏代码
在使用cocos2d-x开发游戏的过程中,为了实现逻辑和显示相分离。 在下通宵了一个晚上,写出了该事件类。 谨记,该事件只能用于cocos2d-x中。 事件发送者需要继承EventDispatcher类 事件接收者需要继承EventHandle类...
Ray Wenderlich的《Cocos2d SimpleGame》,被认为是cocos2d的初学者最好的教程,这本书被Cocos2D-X团队从objective-c转化到了c++版,并发布在了github上。在此感谢Ray Wenderlich的慷慨相助。 源代码是在cocos2d-x ...
《使用cocos2d-x开发各种编辑器》文章里的DEMO源码
cocos2d-x第三方库 该存储库包含与cocos2d-x捆绑在一起的第三方库(二进制)的源代码。 对于cocos2d-x开发人员和/或想要: 生成特定库的更新版本(例如:将libpng 1.6.2升级到1.6.14) 将cocos2d-x移植到其他平台...
本人提交源码进行了版本移植并修改了一个bug,目前使用VS2008+cocos2d-x,2.0.4版本编译测试过(需要注意的是,我的IDE环境中是将COCOS2d-x的头文件和库文件设置到了VS环境中对所有项目生效,并没有单独对特定的COCOS...
Cocos2d-x实战 JS卷 Cocos2d-JS开发 PDF 电子书完整版本
Cocos2d-x实战
cocos2d的学习资料,一本比较经典的cocos2d开发书,适合cocos2d/cocos2d-x的入门
cocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML文件读取与骨骼动画.rarcocos2d-x实战项目 01.cocos2d-x原理及环境配置.rar 03.cocostudio使用方法及UI控制.rar 04.XML...
继续输入cd Cocos2d-iPhone-0.99.5(cd Cocos2d-iPhone-0.99.5为解压的cocos2d文件夹名称)进入cocos2d文件夹中。 4。继续输入./install-templates.sh则打开你文件夹下面的install-templates.sh进行cocos2d的安装。...