在XCODE那边写的代码,在window上编译经常会出现
vs2010 error C2001: 常量中有换行符
原因:中文字符
非常奇怪的是只有部分中文会提示。
GOOGLE了下发现以下几种解决方案:
I 不用中文 -_-
II 偶数中文 或 结尾加英文的符号,如"."
III 字符转换 GBKToUTF8
参考:
http://www.cocoachina.com/bbs/read.php?tid=96304
http://blog.sina.com.cn/s/blog_7a25340e01011l4f.html
目前采用第二种方案,因为String将来肯定要移到配置文件里去的。如Android的string.xml
2013.6.25
原因: 非BOM的UTF-8格式
http://www.cnblogs.com/cocos2d-x/archive/2012/02/26/2368873.html
解决方案
中文放到string.xml里去
详情参见 LabelTest.cpp 的 BMFontUnicode方法
CCDictionary *strings = CCDictionary::createWithContentsOfFile("fonts/strings.xml");
const char *chinese = ((CCString*)strings->objectForKey("chinese1"))->m_sString.c_str();
const char *japanese = ((CCString*)strings->objectForKey("japanese"))->m_sString.c_str();
const char *spanish = ((CCString*)strings->objectForKey("spanish"))->m_sString.c_str();