zoukankan
html css js c++ java
OpenSceneGraph学习笔记
VirtualPlanetBuilder编译方法
转自:http://www.boyunjian.com/do/article/snapshot.do?uid=7327932418831703800
一、下载安装TortoiseSVN客户端
VirtualPlanetBuilder源代码需要通过TortoiseSVN客户端来获取。TortoiseSVN客户端下载地址
http://tortoisesvn.net
。网页提供了完整的客户端安装文件,以及语言包。笔者电脑操作系统为Windows 7(32位),下载了笔者操作系统相对应的客户端,同时下载了简体中文语言包。安装TortoiseSVN客户端,以及语言包。安装过程很简单,直接默认安装即可。
二、通过TortoiseSVN客户端获取VirtualPlanetBuilder源代码
在任意文件夹单击鼠标右击,然后点击SVN Checkout...,在版本库URL中输入
http://www.openscenegraph.org/svn/VirtualPlanetBuilder/trunk
,点击确定。
下载的文件夹中文件如图所示:
打开NEWS.txt文件,查看VirtualPlanetBuilder版本。
注意:编译VirtualPlanetBuilder的时候,VirtualPlanetBuilder版本和OSG版本一定要兼容,否则会出现编译问题。通过TortoiseSVN下载的这个版本,可以和OpenSceneGraph-3.0.1完美兼容。
OpenSceneGraph-3.0.1的编译方法,可以参考笔者的另一篇博客:
OpenSceneGraph学习笔记(一):OpenSceneGraph编译方法
。
三、编译OpenSceneGraph版本对应版本的GDAL
笔者在上一篇博客编译OpenSceneGraph-3.0.1的时候,并没有编译GDAL。这里从GDAL的官方网站(
http://www.gdal.org
)下载最新版本的源代码包,然后进行编译即可。也可下载官方编译好的GDAL包直接使用。您需要下载和您操作系统、编译器相对应的源代码包,笔者下载的源代码包为release-1600-gdal-mapserver-src.zip,同时也下载了其他文件,但是和本篇内容无关。
源代码在文件release-1600-gdal-mapserver-src.zip之中,将源代码解压即可。这里我们只需要解压压缩包release-1600-gdal-mapserver-src.zip中的gdal文件夹。将解压的文件夹命名为gdal-20130222。
解压结果如图所示:
用Microsoft Visual Studio 2010打开文件makegdal10.sln,运用Microsoft Visual Studio 2010批生成工具编译。
GDAL 编译完成后的文件存放于 C:warmerdald ,包含文件 bin,data,html 三个子文件夹。将该文件夹拷贝到gdal-20130222文件夹中。对比之前的文件,可以看到gdal-20130222文件夹中,同时也生成了lib文件等。
注意:如果按照笔者
OpenSceneGraph学习笔记(一):OpenSceneGraph编译方法
文章中的方法,直接下载官方编译好的文件,需要在文件包中查找GDAL的版本,和编译相对应版本的lib文件。
GDAL文件的版本查找方法如下:
解压下载好的压缩包,在如图所示的路径中找到文件,文件后缀即gdal的版本。则下载gdal18的源代码进行编译即可。同时可以查看笔者之前编译的gdal版本为1.10.0.0。
四、整理 VirtualPlanetBuilder编译代码
新建名为VirtualPlanetBuilder-20130222的文件夹,这是笔者的一个习惯,将文件夹的后缀加上时间,方便日后查看。
1、将下载好的VirtualPlanetBuilder源代码复制到该文件夹,将VirtualPlanetBuilder文件夹命名为VirtualPlanetBuilder-0.9.11,加上版本号之后,也是方便我们日后查看。
2、将编译好的 OpenSceneGraph-3.0.1【OpenSceneGraph-3.0.1_VS2010_20130220[-debug-release]】复制到该文件夹。
3、 因为笔者在用自己编译的GDAL包,编译VPB的时候,出现了错误。{解决方案,笔者会在今后的学习中提供}
改用官方编译好的GDAL包,可以完美的编译通过,具体使用方法如下:
在VirtualPlanetBuilder-20130222文件夹中,新建一个名为gdal-1.10.0.0-20130222的文件夹,解压如图所示的压缩包到该文件夹。
4、新建一个名为VirtualPlanetBuilder-0.9.11_VS2010_20130222文件夹。结果如图所示:
五、设置系统环境变量
开始-->控制面板-->系统-->高级系统设置
1、添加系统环境变量:OSG_DIR、GDAL_DIR
这两个变量是为了在系统中指明OSG和GDAL的存放位置。
2、添加Path值
在系统Path中添加值:
%GDAL_DIR%LIB;%GDAL_DIR%BIN;%OSG_DIR%INCLUDE;%OSG_DIR%LIB;%OSG_DIR%BIN; %OSG_DIR%include;%OSG_DIR%share; %OSG_DIR%data;
直接复制到Path变量值最前面就行。
六、CMake处理源代码
如图所示设置 源代码地址和源代码编译地址, 点击 configure。
修改CMAKE_INSTALL_PREFIX值和编译代码文件夹位置一致,然后点击configure
七、编译源代码
用VS2010打开VirtualPlanetBuilder-0.9.11_VS2010_20130222文件夹下VIRTUALPLANETBUILDER.sln文件。
打开:VIRTUALPLANETBUILDER.sln之后, 修改下面文件: vpb 项目下 SpatialProperties.cpp 文件【推荐方法】
注意:如果不修改,也可以编译,但是VS2010会出现error LNK2005的链接错误,需要修改VPB工程属性。
错误 1 error LNK2005: "public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void)" (??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ) 已经在 SpatialProperties.obj 中定义 E:paperOpenSceneGraphVirtualPlanetBuilder-20130222VirtualPlanetBuilder-0.9.11_VS2010_20130222srcvpbosgDB.lib(osg80-osgDB.dll)
错误 3 error LNK2005: "public: void __thiscall std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void)" (??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXXZ) 已经在 SpatialProperties.obj 中定义 E:paperOpenSceneGraphVirtualPlanetBuilder-20130222VirtualPlanetBuilder-0.9.11_VS2010_20130222srcvpbosgDBd.lib(osg80-osgDBd.dll)
修改方法: 在vpb的 ”项目属性->链接器->命令行“ 中添加 ”/FORCE:MULTIPLE" ,(记住dubug和release都要添加,如果您需要生成两个版本)
用VS2010的批生成工具对源代码进行编译。
编译完成
查看全文
相关阅读:
打印当前系统内存使用情况
swagger 相关
乐观锁
mybatis-plus
kt connect
flyway
k8s mandatory.yaml & service-nodeport.yaml
kubernetes的DNS解析,k8s的DNS解析,service DNS解析,在集群内部通过 Service 的域名形式进行互相通信
k8s中引入外部服务,k8s中引入外部数据源
docker 访问外部数据库
原文地址:https://www.cnblogs.com/flylong0204/p/4505789.html
最新文章
支持移远EC600S的SmartDtu平台,基于QuecPython
log4j的8个日志级别(OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL)
微信公众测试号中的url和token配置
centos7 挂载 阿里云 NAS
nginx 编译
报错: error Strings must use singlequote quotes
eslint 报错-Missing space before value for key ‘xxx’
eslint报“Too many blank lines at the end of file. Max of 0 allowed. (no-multiple-empty-lines)“错误的解决
The template root requires exactly one element.的解决办法
vue搭建脚手架
热门文章
无法加载文件 C:UsersAdministratorAppDataRoaming pmvue.ps1,因为在此系统中禁止执行脚本
js中“==”与"==="的区别
java.sql.SQLException: ORA-28040: 没有匹配的验证协议(odbc6.jar,数据库用的是orcal12)
sql语句更新xml基本写法
Caused by: java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配
如何画好系统架构图
springboot内置下载模版
jackson 相关
log4j
mysql 设置当前时间
Copyright © 2011-2022 走看看