一、源代码下载及CMAKE工具准备
- OSG3.6.3源码:https://github.com/openscenegraph/OpenSceneGraph/tree/OpenSceneGraph-3.6.3
- OSG依赖库:https://download.osgvisual.org/3rdParty_VS2017_v141_x64_V11_full.7z
- OSG3.4标准数据集:https://www.openscenegraph.com/downloads/stable_releases/OpenSceneGraph-3.4.0/data/OpenSceneGraph-Data-3.4.0.zip
- CMake_3.14.0:https://cmake.org/files/v3.14/cmake-3.14.0-rc1-win64-x64.zip
二、CMAKE配置
1、将下载下来的源码、依赖库和数据集放到同一个目录下,如下图所示:
2、CMake配置
打开CMake,选择源代码路径和VS解决方案生成路径。
点击Configure,会弹出询问是否建立OSG3.6.3_VS2017文件夹的对话框,点YES。在弹出的VS版本和工具集选择对话框中选择Visual Studio 15 2017(默认选中)和x64,点击Finish。
稍等片刻后,上面的列表中会出现许多红色的条目,我们首先设置ACTUAL_2RDPARTY_DIR为依赖度的路径,然后选中BUILD_OSG_EXAMPLES。
再次点击Configure,CMake会根前面设置的参数自动填写一部分配置。红色的条目也会少许多,如果需要生成MFC项目,可以将BUILD_MFC_EXAMPLE选中并再次点击Configure。此时红色条目会消息。
OSG的Collada插件可以读取dae文件,用处比较广泛,下面我们来配置Collada相关变量。将Grouped复选框选中,并展开COLLADA组展开,按照下图配置boost库和Collada动态链接库的位置。这里要强调一下只需要配置Collada动态链即可,Collada静态链接库不用配,否则编译时会出现链接错误。
编译好的OSG库默认会安装拷贝到C:/Program Files (x86)/OpenSceneGraph这个目录下,该路径由CMAKE_INSTALL_PREFIX指定,可按自己需要设置。配置好后再次点击Configure,最后点击Generate,即可生成VS2017的解决方案。
三、项目编译
用VS2017打开OSG3.6.3_VS2017目录下的OpenSceneGraph.sln。打开VS生成-》批生成对话框,选中ALL_BUILD下的Debug和Release,及INSTALL下的Debug和Release选项,点击生成按钮,顺利的话需要等待2小时左右。中间可能Examples osgviewerMFC项目会现出编译错误,此时需要选中项目点击右键,弹出属性对话框,在Debug和Release下的处理器下添加下面两个宏定义。
NTDDI_VERSION= 0x06030000
WINVER=0x0A00
四、测试运行
将Examples osgviewerMFC设为启动项目,点击VS启动按钮,此时会出现一个空白的MVC视图窗口,点击打开文件按钮,选择前面下载的数据集中的avatar.osg,出现以下画面说明本次编译成功。