一、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部分: 一. ...
随机推荐
- [LeetCode]Word Break 特里
意甲冠军:推断字符串给定的字符串是否构成词典. 来推断目标字符串相匹配整个字典.我们需要来推断目标字符串的每个前缀开始的下一场比赛,这需要匹配目标字符串的成功,所有前缀的枚举. class TrieN ...
- 如何控制WAP网站上输入框的默认键盘类型
百度上对这样的资料介绍很多,基本上都和这个页面是一个意思 http://www.w3school.com.cn/html5/att_input_type.asp : 语法 <input type ...
- ASP.NET Core 设置和初始化数据库 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 设置和初始化数据库 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 设置和初始化数据库 上一章节中我们已经设置和配置好了 EF ...
- 不使用运算符(+、-、*、/) 来进行四则运算(C#)
最近在LeetCode 上刷题,遇到一个非常有趣的题目,题目的大概意思就是在不使用运算符的情况下实现两个数的加法...原题点这里>>> 说实话,刚看到这题目,我是一脸懵逼的. 后来仔 ...
- 作为学术用的 matlab
1. 可重复实验 程序实现的所谓随机,并非完全的随机,而是由某一算法(或者再需要一个种子值)生成出来的. randn('state', 0) % set state so that example c ...
- POJ - 2991 Crane (段树+计算几何)
Description ACM has bought a new crane (crane -- jeřáb) . The crane consists of n segments of variou ...
- iOS 往来--书面资料
写接触知识和查询功能的基础,现在我们就来看看信息写入 新 变化 删除 #pragma mark - 系人信息 //创建联系人 - (void) creatNewRecord { CFErrorRef ...
- Single Application
如果限制一个程序同时只能启动一个实例,有几个可以使用的库 QtSingleApplication 以前可以免费使用,后来只有商业版能里能用,在 Github 上也有一个 LGPL 协议的实现,地址为h ...
- MVC基架生成的Index视图
@model IEnumerable<MyMusicStore.Models.Album> @{ ViewBag.Title = "Index"; } < ...
- 利用FR导出PDF汉字乱码的处理
利用FR导出pdf,然后在unigui中显示,发现汉字乱码,改成gb2312,不乱码,但不自动折行,最后是改成DefaultCharSet搞定.FR版本:5.4.6 后记:有的浏览器中还是乱码,把字体 ...