2014-02-25 36 views
-1

我正在尝试构建OSGEphemeris。我检查了https://code.google.com/p/osgephemeris/source/checkout 的源代码并将其与OSG 3.2.0相关联。但它给编译错误喜欢 -OSGEphemeris中的构建错误

错误C2784: '布尔的std ::操作<(常量的std ::名单< _Ty,_AX> &,常量的std ::名单< _Ty,_AX> &)':可以不能推导出模板参数的 '常量的std ::名单< _Ty,_AX> &' 从 '常量的std :: string'

错误C2784:“布尔的std ::操作<(常量的std ::名单< _Ty,_AX > &,const std :: list < _Ty,_Ax> &)':无法推断'const std :: list < _Ty,_Ax>的模板参数'从 '常量的std :: string'

错误C2784: '布尔的std ::操作<(常量的std :: _树< _Traits> &,常量的std :: _树< _Traits> &)':无法推断为模板参数 '常量的std :: _树< _Traits> &' 从 '常量的std :: string'

错误C2664: 'osgEphemeris ::星空:: _ parseStream':无法从 '诠释' 转换参数1“STD :: istream &'

等 我没有没有改变源代码中的任何东西。我怎样才能使它工作?在此先感谢

回答

1

我已经解决了这个问题。问题是osgDB有自己的基于std :: string的String类,而osgText有它自己的fstream类。两者都在与标准库标题名称相同的标题中定义。所以通过从Visual Studio中删除这些头文件包含其他包含目录,问题就解决了。 也许这将有助于防止有人面临同样的问题。