OSGEarth 支持中文需要修改osgearth的源码:
主要影响到plcaeNode 及labelControl
修改步骤如下:
一:在osgearth包下,StringUtil类中添加 字符转换方法:
StringUtil.h头文件中添加:extern OSGEARTH_EXPORT wchar_t* str2wstr( std::string s );
StringUtil.cpp中添加实现:
wchar_t*
osgEarth::str2wstr(std::string s)//ago change
{
setlocale(LC_ALL, "chs");
//int requiredSize = mbstowcs(NULL, s, 0)+1;
int requiredSize = s.size() * 2 + 2;
wchar_t* wtext = new wchar_t[requiredSize + 1];
mbstowcs(wtext, s.c_str(), requiredSize + 1);
return wtext;