osgEarth编译——以VS2012为例
整理记录下 osgEarth编译过程。
osgEarth是依赖于OSG的三维地理平台。
准备工作
OSG_3RDPARTY_DIR http://download.osgvisual.org/3rdParty_VS2012.3_v110_x86_x64_V8b_full.7z
geos-3.4.2.tar.bz2 http://download.osgeo.org/geos/geos-3.4.2.tar.bz2
sqlite https://www.sqlite.org/download.html
osgearth-2.7 https://github.com/gwaldron/osgearth/releases
编译工作
编译OSG、然后编译或下载geos和sqlite,最后编译osgEarth;
编译OSG
1、解压 OpenSceneGraph-3.4.0.zip 和 3rdParty_VS2012.3_v110_x86_x64_V8b_full.7z
2、安装打开CMake,https://cmake.org/download/
配置Source code路径到 E:/osg3.4.0/OpenSceneGraph-3.4.0/OpenSceneGraph-3.4.0
配置build路径到 E:/osg3.4.0/OpenSceneGraph-3.4.0/OpenSceneGraph-3.4.0/vs2012
3、点击Configre,选择VS版本。
4、配置ACTUAL_3RDPARTY_DIR路径为3rdParty_VS2012.3_v110_x86_x64_V8b_full.7z解压路径,且注意选择X64还是X86文件夹
5、点击Configure,完成后,点击Generate。VS2012打开,并编译完成。用其中bin,include,lib文件夹内容。
编译GEOS
1、安装CMake2.8以上版本,解压geos到E:\geos-3.4.2,新建E:\geos-3.4.2\vs2012 作为编译的目标文件夹
2、cmd中命令行配置如下 E:\geos-3.4.2\vs2012> cmake -G "Visual Studio 11 2012 Win64" E:\geos-3.4.2 如果是x86版本,去掉Win64。
3、vs打开工程。为了区分Release和debug下的dll和lib,更改geos输出目录。
链接器->高级->导入库
链接器->常规->输出文件
4、新建文件夹,拷贝源文件和编译文件的include到include,拷贝geos.dll,geosd.dll到bin文件夹,拷贝geos.lib,geosd.lib到lib文件夹
编译sqlite
1、下载 sqlite-amalgamation-3130000.zip 和 sqlite-dll-win64-x64-3130000.zip 在 https://www.sqlite.org/download.html,并解压
2、新建VS Win32项目,dll 空项目。确定后,配置解决方案从win32改为X64。
3、从sqlite-amalgamation-3130000 拷贝 sqlite3.h 和sqlite3ext.h,添加到项目头文件,
复制sqlite3.c 和sqlite-dll-win64-x64-3130000中的 sqlite3.def,添加到项目源文件。
4、在链接器->输入->模块定义文件中输入 sqlite3.def;
在预处理定义中添加 SQLITE_ENABLE_RTREE
SQLITE_ENABLE_COLUMN_METADATA
编译osgEarth
1、解压osgearth_2.7 ,CMake填入Source code 和 build 路径。
2、选择目标版本后,配置CMake
(1)配置OSG_DIR 对应osg编译后的库文件夹,文件夹 包括 bin,include,lib。点击Configure。
(2)配置CURL、zlib、minizip、GDAL对应的include和lib。lib可能包括debug和Release; 库是利用OSG的3rdParty_VS2012.3_v110_x86_x64_V8b_full.7z
(3)配置GEOS和SQLITE3的include和lib。其中sqlite3仅仅配置Release,GEOS还有配置debug lib ------geosd.lib
3、点击Configure,完成后再 点击Genetor。
4、打开OSGEARTH.sln,编译代码。编译完之后,相应的dll拷贝和exe同目录,就可以执行测试了。
这里编译64位和编译32位没有差异,只要注意下依赖库对应。通过配置test中相应的earth文件,设置测试用例为启动项,就可以跑起来了。
参考:
http://www.cnblogs.com/geospatial/p/4027696.html GEOS编译
https://trac.osgeo.org/geos/wiki/BuildingOnWindowsWithCMake GEOS
http://zhujiangtao.com/?p=670 SQlite3编译
http://www.sqlite.org/howtocompile.html SQlite3
http://docs.osgearth.org/en/latest/startup.html#get-the-source-code osgearth build
最新文章
- Linux各个目录的作用及内容
- Fedora17安装MySQL及配置
- sql语句把字段中的某个字符去掉
- SQL Server 2005 处理交叉表
- [Asp.net 开发系列之SignalR篇]专题三:使用SignalR实现聊天室的功能
- Win10 IoT C#开发 6 - 4x4矩阵键盘扫描
- More on Conditions - To Compare -Comparing Sequences and Other Types
- 编写jquery插件的分享
- nodejs5-package.json
- @property属性
- opencv鼠标绘制直线 C++版
- 201521123012 《Java程序设计》第十四周学习总结
- python3.X中的循环
- [BZOJ 4361]isn
- Algorithm类介绍(core)
- Reservoir Sampling - 蓄水池抽样问题
- LeetCode 36 Valid Sudoku(合法的数独)
- Error:Cannot compile Groovy files: no Groovy library is defined for module 'xxxx' 错误处理
- CentOS7的安装与配置
- mysql-13处理重复数据
热门文章
- 对HTTP和TCP的理解
- 阿里云 下载的 apache 证书 转换为 pcks8 证书
- 并发编程>;>;四种实现方式(三)
- Windows Server 2003、2008、2012系统的安装
- JavaScript设计模式-2高级类.
- Cygwin、Msys、MinGW、Msys2的区别与联系(转)
- 2-8 js基础 jsonp封装
- 图说使用socket建立TCP连接
- SpringCloud - 2. 服务注册 和 发现
- 设置主外键时 ORA-02298: 无法验证 - 未找到父项关键字 --NOVALIDATE;