一、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文件
至此环境搭建完毕。