一、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部分: 一. ...
随机推荐
- C# 反射调用私有事件
原文:C# 反射调用私有事件 在 C# 反射调用私有事件经常会不知道如何写,本文告诉大家如何调用 假设有 A 类的代码定义了一个私有的事件 class A { private event EventH ...
- options.parse === void 0
if (options.parse === void 0) options.parse = true; https://developer.mozilla.org/zh-CN/docs/Web/Jav ...
- DM365 IPNC软件架构具体解释
于2013在上半场 - 年DM365.DM368的IPNC(网络摄像机)与稳定性测试工作产品结束. 1.简单介绍: TI针对TMS320DM365.DM368进行了DVR和IPNC的应用方案參考.DV ...
- Gram 矩阵性质及应用
v1,v2,-,vn 是内积空间的一组向量,Gram 矩阵定义为: Gij=⟨vi,vj⟩,显然其是对称矩阵. 其实对于一个XN⋅d(N 个样本,d 个属性)的样本矩阵而言,X⋅X′ 即为 Gram ...
- 窗体的基类中没有设定大小,所以才不能居中,若要窗体居中,必须使用setfixedsize()函数或者resize()函数设定窗体的大小,居中才能正常使用
最近开发中,遇到了窗体不能居中的问题,看了网上的很多文章,窗口居中,无非都是move至窗口的中心目标; 有两种方式, 一种在构造函数中直接计算中心坐标; 另一种是在窗口show后再move至相应坐标. ...
- 熟知MySQL存储过程
存储过程(Stored Procedure)是一组为了完毕特定功能的SQL语句集,经编译后存储在数据库中.用户通过指定存储过程的名字并给定參数(假设该存储过程带有參数)来调用运行它. MySQL 存储 ...
- python3批量查询域名是否注册
#!/usr/local/bin/python3 #coding=utf-8 import re,sys,os,random,time, base64 import urllib.parse, url ...
- Linux 下非 root 用户安装 theano(配置 GPU)
非 root 用户,安装 Python 第三方的包,尤其像 theano,存在大量的依赖项,存在的主要问题,是安装各个包时的权限问题.所幸,存在这样一个集成工具,叫 anaconda,其已经内置了许多 ...
- XP双网卡不能上网的问题
转载. 现在很多本本都是双网卡配置,让两个网卡分别负责连接内外网能够加快上网速度和连接稳定,但不少网友照做后会出现无法上网的情况,这是由于默认网关冲突所导致的.那么该如何处理让双网卡各行其是,互不干扰 ...
- 基于Android开发的天气预报app(源码下载)
原文:基于Android开发的天气预报app(源码下载) 基于AndroidStudio环境开发的天气app -系统总体介绍:本天气app使用AndroidStudio这个IDE工具在Windows1 ...