一、OpenScenGraph环境搭建
1.OpenSceneGraph 3.4.0 网址 http://www.openscenegraph.org/
github源码地址 https://github.com/openscenegraph/OpenSceneGraph
示例数据http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.4.0/data/OpenSceneGraph-Data-3.4.0.zip
工具CMake 3.8.0 https://cmake.org/files/v3.8/cmake-3.8.0-rc2-win64-x64.msi
第三方依赖库 http://www.openscenegraph.org/index.php/download-section/dependencies,包含有VS2017和VS2013的第三方依赖库,
请挑选合适的依赖库下载。
2.下载perl
编译CURL需要perl
http://downloads.activestate.com/ActivePerl/releases/5.24.1.2402/ActivePerl-5.24.1.2402-MSWin32-x64-401627.exe
3.下载CURL源码
https://codeload.github.com/bingxueyouwu/curl/zip/master

4.下载ZLIB源码
http://124.205.69.163/files/523900000520E796/www.zlib.net/zlib-1.2.11.tar.gz

如果在编译过程中“optimized.lib找不到”的错误,特别是使用CMake3.0以上版本,有三种解决办法:
第一种:如上图所示;
第二种:找到CMake2.8的版,找到FindZLIB.cmake,去替换CMake3.0中的这个文件,接着再进行生成编译即可。
第三种:当前两种方法失效时,左键项目属性,选择Release->链接器->输入->附加依赖项,将optimized.lib和debug.lib删除即可。
第四种:找到当前所用的windows SDK的lib目录,如C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64,随意
找一个lib文件复制成两份,命名为optimized.lib和debug.lib即可。
5.下载GDAL源码
http://124.205.69.132/files/9063000005336BEB/download.osgeo.org/gdal/2.1.3/gdal213.zip
编译GDAL,打开“VS2015 开发人员命令提示",

进入GDAL-2.1.3的目录,
编译32位版本命令
nmake /f makefile.vc
nmake /f makefile.vc install
nmake /f makefile.vc devinstall
编译64位版本命令
nmake /f makefile.vc MSVC_VER=1900 WIN64=YES
nmake /f makefile.vc install MSVC_VER=1900 WIN64=YES
nmake /f makefile.vc devinstall MSVC_VER=1900 WIN64=YES
其中 MSVC_VER 和VS版本关系如下
# nmake -f makefile.vc MSVC_VER=xxxx
# where xxxx is one of following:
# 1900 = 14.0(2015)
# 1800 = 12.0(2013)
# 1700 = 11.0(2012)
# 1600 = 10.0(2010)
# 1500 = 9.0 (2008)
# 1400 = 8.0 (2005)
# 1310 = 7.1 (2003)
# 1300 = 7.0 (2002)
# 1200 = 6.0
可参考 http://www.cnblogs.com/geospatial/p/5634033.html

6.安装CMAKE,可选配置环境变量(Path)
7.编译NVidia Texture Tools (简称nvtt)
https://github.com/bingxueyouwu/nvidia-texture-tools/
另:编译OSG nvtt plugin时,这个项目会报错,需要把nvtt.lib、nvimage.lib、nvmath.lib、nvthread.lib、
nvcore.lib、squish.lib、bc6h.lib、bc7.lib这几个类库也附加到链接器->输入 (Debug和Release两个)中。
8.编译FBX插件
Autodesk FBX Development kit 2018 download address
根据项目的“代码生成”类型选择库文件,默认为“MD”,所以选择带“md”的库文件

解压OpenSceneGraph到code文件中,在同目录建立target目录
打开cmake-gui.exe,将CMakeLists.txt拖进主界面,修改"Where to build binary"至"target"目录
点击configure按钮,选择VS2015 X64编译器

点击Finish,开始检查:

请选择上面生成的ZLib,Curl,GDAL 的LIB和INCLUDE路径。这三个类库选中后,CMake窗口列表中不会出现红色背景。
CMake 选择File->Delete Cache,接着,点击Generate,开始生成工程文件:

target目录下的工程文件:

使用VS2015打开OpenSceneGraph.sln,打开之后,选择生成->批生成,选中ALL_BUILD和INSTALL 的Debug和Release,点击生成,静静地等待编译完成!
(注编译部分参见 http://www.openscenegraph.org/index.php/documentation/platform-specifics/windows/37-visual-studio)
编译完成后,建立OSG目录,在其下分别建立
目录结构,将编译好的bin、include、lib目录内容拷贝进去,并将下载的示例数据放入data文件夹中。
按如下所示配置环境变量:
OSG_BIN_PATH = %OSG_ROOT%\bin
OSG_INCLUDE_PATH = %OSG_ROOT%\include
OSG_LIB_PATH = %OSG_ROOT%\lib
OSG_SAMPLES_PATH = %OSG_ROOT%\share\OpenSceneGraph\bin
OSG_FILE_PATH = ???\OpenSceneGraph-Data-X.X
并在Path上追加%OSG_BIN_PATH%, 在命令行中使用osgviewer -osgFilePath 查看已存在的OSG文件
至此环境搭建完毕。
一、OpenScenGraph环境搭建的更多相关文章
- .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...
- Azure Service Fabric 开发环境搭建
微服务体系结构是一种将服务器应用程序构建为一组小型服务的方法,每个服务都按自己的进程运行,并通过 HTTP 和 WebSocket 等协议相互通信.每个微服务都在特定的界定上下文(每服务)中实现特定的 ...
- rnandroid环境搭建
react-native 环境搭建具体步骤这个大家已经玩烂了,这个主要是记录下来自己做win7系统遇到的坑 1.com.android.ddmlib.installexception 遇到这个问题,在 ...
- python开发环境搭建
虽然网上有很多python开发环境搭建的文章,不过重复造轮子还是要的,记录一下过程,方便自己以后配置,也方便正在学习中的同事配置他们的环境. 1.准备好安装包 1)上python官网下载python运 ...
- springMVC初探--环境搭建和第一个HelloWorld简单项目
注:此篇为学习springMVC时,做的笔记整理. MVC框架要做哪些事情? a,将url映射到java类,或者java类的方法上 b,封装用户提交的数据 c,处理请求->调用相关的业务处理—& ...
- 【定有惊喜】android程序员如何做自己的API接口?php与android的良好交互(附环境搭建),让前端数据动起来~
一.写在前面 web开发有前端和后端之分,其实android还是有前端和后端之分.android开发就相当于手机app的前端,一般都是php+android或者jsp+android开发.androi ...
- Nexus(一)环境搭建
昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...
- 「译」JUnit 5 系列:环境搭建
原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...
- appium+robotframework环境搭建
appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...
随机推荐
- Arcgis api for javascript学习笔记(3.2X版本)-Map图层叠加以及基本操作
1. 不设置默认底图,第一个图层作为底图,然后叠加另外一个图层 先添加图层1,第一个图层1作为默认底图,然后在图层1上叠加图层2,并设置图层2的透明度为50%. <!DOCTYPE html&g ...
- Indexing Sensor Data
In particular embodiments, a method includes, from an indexer in a sensor network, accessing a set o ...
- CCLink
1什么是CC-Link? CC-Link全称Control & Communication Link,即控制与通信链路通信,是一种可以同时高速处理控制和信息数据的现场网络系统,可以提供高效.一 ...
- 讨论IM软件“网上假货’
概要 网上假货.在不能使用网络的情况下,IM软件还显示在线. 网上是假的"在线--当前离线"之间的状态,在这段时期.用户无法发送消息.用户可以创建假冒网上心跳的错觉(点击了解).缓 ...
- 如何导入以前的qq聊天记录
作者:朱金灿 来源:http://blog.csdn.net/clever101 在新版的qq2013已经可以设置聊天记录的保存路径,但是如何把以前的聊天记录都导入进来呢?今天找到了办法.首先把原来q ...
- Qt5官方demo分析集10——Qt Quick Particles Examples - Emitters
此系列的所有文章都可以在这里查看http://blog.csdn.net/cloud_castle/article/category/2123873 前段时间去听了Qt在北京的开发人员大会,感觉QML ...
- 关于idea maven工程创建struts2入门配置及案例
1.在maven工程下添加需要导入的jar包节点 <dependencies> <dependency> <groupId>org.apache.struts< ...
- Html5 学习系列(四)文件操作API
原文:Html5 学习系列(四)文件操作API 引言 在之前我们操作本地文件都是使用flash.silverlight或者第三方的activeX插件等技术,由于使用了这些技术后就很难进行跨平台.或者跨 ...
- 【C#】list 去重
原文:[C#]list 去重 Enumerable.Distinct 方法 是常用的LINQ扩展方法,属于System.Linq的Enumerable方法,可用于去除数组.集合中的重复元素,还可以自定 ...
- qmake 时复制文件(自动在编译前做一些操作,且写在.pro文件里)
有时在编译前需要准备一些文件,例如修改了 QtCreator 的编译输出目录: Build & Run > Default build directory,使用 Promote 后需要在 ...