查看: 4429|回复: 11

VirtualPlanetBuilder-0.9.12编译错误,如何解决?

[复制链接]

该用户从未签到

发表于 2013-7-19 11:30:22 | 显示全部楼层 |阅读模式
本帖最后由 luckwhl 于 2013-7-19 12:59 编辑

OpenSceneGraph-3.1.7 + VirtualPlanetBuilder-0.9.12
VS2010编译时候,有如下错误,各位大神帮帮我,看看如何解决。

错误        1        error LNK2019: 无法解析的外部符号 _SQLInstallerError@20,该符号在函数 "public: int __thiscall CPLODBCDriverInstaller::InstallDriver(char const *,char const *,unsigned short)" (?InstallDriver@CPLODBCDriverInstaller@@QAEHPBD0G@Z) 中被引用        F:\workspace_32\VirtualPlanetBuilder-0.9.12\src\vpb\gdal.lib(cpl_odbc.obj)        vpb

错误        2        error LNK2019: 无法解析的外部符号 _SQLInstallDriverEx@28,该符号在函数 "public: int __thiscall CPLODBCDriverInstaller::InstallDriver(char const *,char const *,unsigned short)" (?InstallDriver@CPLODBCDriverInstaller@@QAEHPBD0G@Z) 中被引用        F:\workspace_32\VirtualPlanetBuilder-0.9.12\src\vpb\gdal.lib(cpl_odbc.obj)        vpb

错误        3        error LNK2019: 无法解析的外部符号 _SQLRemoveDriver@12,该符号在函数 "public: int __thiscall CPLODBCDriverInstaller::RemoveDriver(char const *,int)" (?RemoveDriver@CPLODBCDriverInstaller@@QAEHPBDH@Z) 中被引用        F:\workspace_32\VirtualPlanetBuilder-0.9.12\src\vpb\gdal.lib(cpl_odbc.obj)        vpb


错误        4        error LNK2019: 无法解析的外部符号 _SQLFreeEnv@4,该符号在函数 "public: int __thiscall CPLODBCSession::CloseSession(void)" (?CloseSession@CPLODBCSession@@QAEHXZ) 中被引用        F:\workspace_32\VirtualPlanetBuilder-0.9.12\src\vpb\gdal.lib(cpl_odbc.obj)        vpb

。。。。。。

该用户从未签到

发表于 2013-7-19 13:28:02 | 显示全部楼层
BuildOptionsIO.cpp文件中的源码如下:
#if OSG_MIN_VERSION_REQUIRED(3,1,0)
    #define IS_BEGIN_BRACKET    is.BEGIN_BRACKET
    #define IS_END_BRACKET      is.END_BRACKET
    #define OS_BEGIN_BRACKET    os.BEGIN_BRACKET
    #define OS_END_BRACKET      os.END_BRACKET
#else
    #define IS_BEGIN_BRACKET    osgDB::BEGIN_BRACKET
    #define IS_END_BRACKET      osgDB::END_BRACKET
    #define OS_BEGIN_BRACKET    osgDB::BEGIN_BRACKET
    #define OS_END_BRACKET      osgDB::END_BRACKET
#endif

如果是3.1.0版本,则定义第一部分,如果不是,则定义第二部分。
你的是3.1.7所以定义为
osgDB::BEGIN_BRACKET

可以更换OSG版本为3.1.0

该用户从未签到

 楼主| 发表于 2013-7-19 13:53:04 | 显示全部楼层
本帖最后由 luckwhl 于 2013-7-19 16:11 编辑
shirro 发表于 2013-7-19 13:28
BuildOptionsIO.cpp文件中的源码如下:
#if OSG_MIN_VERSION_REQUIRED(3,1,0)
    #define IS_BEGIN_BRAC ...


谢谢。那 error LNK2019:错误如何解决?

该用户从未签到

 楼主| 发表于 2013-7-22 09:51:39 | 显示全部楼层
本帖最后由 luckwhl 于 2013-7-22 10:55 编辑

各位大侠们,这种错误到底怎么解决?难道没有人知道吗?

该用户从未签到

发表于 2013-7-22 13:26:22 | 显示全部楼层
_SQLFreeEnv,是数据库错误,你看你的vs是不是所有组件都安装了,还是只装了vs

该用户从未签到

 楼主| 发表于 2013-7-22 13:48:38 | 显示全部楼层
shirro 发表于 2013-7-22 13:26
_SQLFreeEnv,是数据库错误,你看你的vs是不是所有组件都安装了,还是只装了vs

哦,我记得当时安装vs2010的时候,选择的是完全安装啊,但是确实没有 SQL server 2010,是不是装个 SQL server 2010就可以了?

该用户从未签到

发表于 2013-7-24 17:44:37 | 显示全部楼层
0.9.12 是新的吗? 我用的是0.9.11,svn上下的,没有楼主的问题,楼主可以试试0.9.11

该用户从未签到

 楼主| 发表于 2013-7-25 08:07:54 | 显示全部楼层
xiacanni 发表于 2013-7-24 17:44
0.9.12 是新的吗? 我用的是0.9.11,svn上下的,没有楼主的问题,楼主可以试试0.9.11

好的,过几天我试试。

该用户从未签到

发表于 2013-7-28 19:13:47 | 显示全部楼层
luckwhl 发表于 2013-7-25 08:07
好的,过几天我试试。

我是在windows下编译的,看的这个教程 http://www.cnblogs.com/wanghan19911117/articles/2920869.html
其中提到了一个编译时候遇到的问题。
把那个地方改了,在我这也能正确地编译。

该用户从未签到

发表于 2013-8-17 16:06:21 | 显示全部楼层
luckwhl 发表于 2013-7-22 13:48
哦,我记得当时安装vs2010的时候,选择的是完全安装啊,但是确实没有 SQL server 2010,是不是装个 SQL s ...

我编译的时候没出现这种问题。肯定不是安没安装数据库的问题,因为我没安装数据库组件。

该用户从未签到

发表于 2015-1-27 20:31:55 | 显示全部楼层
楼主,问题解决没,同样碰到了,是osg的版本问题吗?

该用户从未签到

发表于 2015-2-15 15:52:08 | 显示全部楼层
下载最新版版本的VPB就可以了,从trunk里面
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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