OSG之环境配置(VS2017)
osg依赖库网上有很多现有的已编译好的库。毕竟是第一次接触就行自己想重新编译走一下流程(借鉴大佬的东西)。
1.工具准备
- OSG源码 OpenSceneGraph 3.4.0 release downloads(OSG_3.4.0)
- OSG第三方库 Dependencies(3rdParty_VS2017_v141_x64_V11)
- OSG官方实例包 Data Resources
- CMake (我用的是CMake-3.20)
2.安装及编译过程
- 创建指定目录(便于管理)
E:/OSG/3rdParty(三方库 )
E:/OSG/data(资源 )
E:/OSG/OpenSceneGraph-3.4.0-release_x64
- 打开安装好的CAMKE,选择source code 路径,选择生成代码的路径,点击Configure,选择VS2017,选择编译版本(空白默认是x32)
- 点击Finish之,进行相关设置,会有一些红色的提醒
- ACTUAL_3RDPARTY_DIR:E:/OSG/3rdParty
BUILD_OSG_EXAMPLES :勾上
CMAKE_INSTALL_PREFIX:E:/OSG/OpenSceneGraph-OpenSceneGraph-3.4.0
BUILD_MFC_ EXAMPLE设置为on - 点击Configure 没有了红色提醒,点击Generate建构。
- 然后在新建的生成代码的路径下打开.sln
- 选择生成——批生成,选择All_BUILD进行生成,选择(Debug和Release两个版本),不用等时间超长4个小时
- 上一步生成完毕,选择INSTALL也进行相应生成编译。
- 完事了,在生成的Bin、include、lib迁移至 E:/OSG/OpenSceneGraph-3.4.0-release_x64下
3.测试
1.设置环境变量
我选的是用户环境变量。
新建:OSG_PATH 路径:D:\OSG\OpenSceneGraph-3.4.0-release_x64
新建:OSG_FILE_PATH 路径: E:\OSG\data
Path: 设置 D:\OSG\OpenSceneGraph-3.4.0-release_x64\bin;%OSG_PATH%
2.测试
CMD测试以下:
osgversion
osgviewer cow.osg
osglogo
3.工程测试
1.在VS2017下,新建WIN32控制台程序;
2.添加以下代码
#include <windows.h> //有的工程不加编译不通过
#include <osgViewer/Viewer>
#include <osgDB/ReadFile>
int main()
{
osgViewer::Viewer viewer;
viewer.setSceneData(osgDB::readNodeFile("boxman.osg"));
return viewer.run();
}
3.设置包含目录 $(OSG_PATH)\include 和包含库 $(OSG_PATH)\lib
4.添加属性的链接库依赖库
OpenThreads.lib osg.lib osgDB.lib osgUtil.lib osgGA.lib
5.编译运行