查看: 1288|回复: 9

求助:OSG 是否支持VS7.0 ?

[复制链接]

该用户从未签到

发表于 2012-3-26 09:54:55 | 显示全部楼层 |阅读模式
因为第三方的库的最低版本是支持VS7.1 的,所以想用VS7.0 编译源代码,是否可行?请高手指点,谢谢

该用户从未签到

发表于 2012-3-27 10:10:34 | 显示全部楼层
尝试一下,或官方网站上去查

该用户从未签到

发表于 2012-3-28 21:17:43 | 显示全部楼层
我做过这个事,找一个老版本的2.6.0,把核心库里一些用到模板的实现改掉,就可以在vs7.0上编译了。新版本的对模板使用太多,改动工作量大

该用户从未签到

 楼主| 发表于 2012-3-30 09:22:02 | 显示全部楼层
reziarfg 发表于 2012-3-28 21:17
我做过这个事,找一个老版本的2.6.0,把核心库里一些用到模板的实现改掉,就可以在vs7.0上编译了。新版本的 ...

请问是不是模板实现代码改动比较多?还有就是我在OSG官网上没有找到支持VS7.0的第三方的库,最低版本时候支持VS7.1,这个是否有影响?
如果哥们你有编译好的支持VS7.0的二进制文件,可否传给小弟?

该用户从未签到

 楼主| 发表于 2012-3-30 09:22:53 | 显示全部楼层
fenma3422 发表于 2012-3-27 10:10
尝试一下,或官方网站上去查

我发帖之前尝试过,有问题,所以发帖求助

该用户从未签到

发表于 2012-3-30 09:53:19 | 显示全部楼层
我以前编译过vs7的版本,基本没什么问题

该用户从未签到

 楼主| 发表于 2012-3-30 11:30:58 | 显示全部楼层
array 发表于 2012-3-30 09:53
我以前编译过vs7的版本,基本没什么问题

请问一下如果用VS7.0(.NET 2002)编译source code的话,是否需要选择一个较低版本的source code.
我用最新的source code 去编译过,编译根本无法通过,2002对最新source code里模板的实现方式不支持,所以编译无法通过,一个工程编译的错误达几百个。请问array哥现在有编译好的支持2002的二进制文件么?

该用户从未签到

发表于 2012-4-1 15:00:31 | 显示全部楼层
请给出错误信息,也许只是MS的某个头文件变化了而已,MS的版本一向大起大落,我们也没办法

该用户从未签到

 楼主| 发表于 2012-4-3 12:06:20 | 显示全部楼层
array 发表于 2012-4-1 15:00
请给出错误信息,也许只是MS的某个头文件变化了而已,MS的版本一向大起大落,我们也没办法

template <typename U>
struct PointerTraits<U*>
{
    typedef U PointeeType;
};

template <typename FuncObj>
class RefPtrAdapter
    : public std::unary_function<const osg::ref_ptr<typename PointerTraits<typename FuncObj::argument_type>:ointeeType>,
                                 typename FuncObj::result_type>
{
    ....
}


template <typename U>
struct PointerTraits<U*>
{
    typedef U PointeeType;
};

\OSG2.6-src\OpenSceneGraph-2.6.0\src\osgDB\DatabasePager.cpp(64) : error C2065: 'U' : undeclared identifier
\OSG2.6-src\OpenSceneGraph-2.6.0\src\osgDB\DatabasePager.cpp(64) : error C2059: syntax error : '>'
\OSG2.6-src\OpenSceneGraph-2.6.0\src\osgDB\DatabasePager.cpp(65) : error C2143: syntax error : missing ';' before '{'
\OSG2.6-src\OpenSceneGraph-2.6.0\src\osgDB\DatabasePager.cpp(67) : error C2143: syntax error : missing ';' before '}'
\OSG2.6-src\OpenSceneGraph-2.6.0\src\osgDB\DatabasePager.cpp(70) : error C2146: syntax error : missing ',' before identifier 'U'
\OSG2.6-src\OpenSceneGraph-2.6.0\src\osgDB\DatabasePager.cpp(70) : error C2059: syntax error : '>'
\OSG2.6-src\OpenSceneGraph-2.6.0\src\osgDB\DatabasePager.cpp(71) : error C2143: syntax error : missing ';' before '{'
\OSG2.6-src\OpenSceneGraph-2.6.0\src\osgDB\DatabasePager.cpp(73) : error C2143: syntax error : missing ';' before '}'
\OSG2.6-src\OpenSceneGraph-2.6.0\src\osgDB\DatabasePager.cpp(77) : error C2653: 'FuncObj' : is not a class or namespace name
\OSG2.6-src\OpenSceneGraph-2.6.0\src\osgDB\DatabasePager.cpp(77) : error C2146: syntax error : missing ',' before identifier 'argument_type'
\OSG2.6-src\OpenSceneGraph-2.6.0\src\osgDB\DatabasePager.cpp(77) : error C2065: 'argument_type' : undeclared identifier
\OSG2.6-src\OpenSceneGraph-2.6.0\src\osgDB\DatabasePager.cpp(77) : error C2687: cannot define a nested UDT of a template class out of line
\OSG2.6-src\OpenSceneGraph-2.6.0\src\osgDB\DatabasePager.cpp(77) : fatal error C1903: unable to recover from previous error(s); stopping compilation

帮忙看一下,我列举的一些错误,我现在用的source code 版本是2.6.0,之前用过一个最近版本的source code 去编译,一个工程错误就是几百个。

该用户从未签到

发表于 2012-4-6 09:59:22 | 显示全部楼层
看起来您的工程中还包含了古老的osgIntrospection,请使用更新的版本例如3.0.1试验
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表