我要发帖 回复

中级会员

8

主题

104

积分

0

专家分

:

私信
发表时间 : 2009-4-10 10:58:56 | 浏览 : 3443    评论 : 4
osg对于宽字符集支持不是很好,有什么解决方法,原来使用wstring,用osgTest中的settext(wchar)还可以用,重编译2.8后,发现不支持这个函数,不知道是编译有什么需要注意的地方,或者有什么好的解决方法,请教!

最近VR访客

专注于空间数据库、影像检索、地形三维可视化、GIS系统。Email: zy765@163.com
FlySky 评论于2009-4-10 12:50:40
可以通过setlocale()来解决这个问题~~

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709
zy765 评论于2009-4-10 20:47:29
thanks a lot!
专注于空间数据库、影像检索、地形三维可视化、GIS系统。Email: zy765@163.com
zy765 评论于2009-4-12 01:16:22
std::wstring name;
// 设置文字节点属性
text->setFont( std::string( "msyh.ttf" ) );
text->setPosition( temprecord.position );
text->setColor( temprecord.color );
text->setAlignment( osgText::Text::CENTER_CENTER );
text->setCharacterSize( temprecord.size );
text->setFontResolution( temprecord.resolution, temprecord.resolution );

setlocale(LC_ALL,"chs");
text->setText(temprecord.name.c_str());


依然出现问题,如下:

错误        1        error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > __thiscall QString::toStdWString(void)const " (__imp_?toStdWString@QString@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ),该符号在函数 "public: void __thiscall AddNote::parseNodeElement(class QDomElement const &)" (?parseNodeElement@AddNote@@QAEXABVQDomElement@@@Z) 中被引用        addnote.obj       

如何解决?使用string不出问题,由于使用QT,wstring由QString通过toWStdString转换过来

[ 本帖最后由 zy765 于 2009-4-12 01:17 AM 编辑 ]
专注于空间数据库、影像检索、地形三维可视化、GIS系统。Email: zy765@163.com
FlySky 评论于2009-4-12 23:57:15
这个就不太清楚了,,我没用过QT~~~~~

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-4-23 09:37 AM

返回顶部