基于Win10+VS2017的OSG3.6.5编译部署

本文详细记录了在Windows 10环境下配置并编译OpenSceneGraph (OSG)与Qt的步骤,包括软件环境(CMake, VS2017, Git),源码准备,CMake配置,编译与使用流程,以及编码验证。适合初学者快速上手。
摘要由CSDN通过智能技术生成

目录

前言:

编译前准备软件环境:

编译前准备源码:

构建流程:

编译流程:

使用流程:

编码验证:


前言:

朋友搞 Qt 搭配 OSG 进行开发,自己本地试了下配置 OSG ,浪费了一天时间,头疼。。记录一下,方便后来的小伙伴儿。。

编译前准备软件环境:

1、Windows10系统

2、CMake(最新版)

3、VS2017(OSG官网配套第三方库,最高只能到2017这个版本)

4、Git(最新版)

关于硬件,配置越高越好吧(我的是 i7 10700k,OSG都要编译三个小时,日!)

编译前准备源码:

官网依次下载源码、第三方库和数据资源(资源下载竟然也要TMD三个小时!!日!)

源码下载最新版(我下载时3.6.5)

下载完毕,将解压后的文件夹放进D:\OSG 目录下,这是源码加资源下载后的截图:

但是我看见x64不舒服,就把3rdParty_x64改为3rdParty,并且将其目录下的x64目录下的文件往上提一级,然后删除x64空文件夹。

由此图的样子:

改为此图的样子:

至此,源文件准备结束。

构建流程:

1、打开CMake-GUI,将D:\OSG\OpenSceneGraph\CMakeLists.txt拖动到CMake-GUI界面上,在生成目录后加一层/build目录,点击configure。

新弹出框选择VS2017,Optional platform for generator 输入x64,点击Finish。

2、Finish执行结束,进行二次设置。

ACTUAL_3RDPARTY_DIR:D:/OSG/3rdParty 
BUILD_OSG_EXAMPLES :勾上 
CMAKE_INSTALL_PREFIX:D:/OSG/OpenSceneGraph/

点击Configure。

3、Configure执行结束,将BUILD_MFC_ EXAMPLE打勾,点击Configure。

4、点击Generate,自此建构完成,结束后可以关闭CMake-GUI。

编译流程:

1、用VS2017打开OpenSceneGraph.sln(此文件在D:\OSG\OpenSceneGrap\build下)

2、菜单栏,点击“生成”、“批生成”,勾选ALL_BUILD对应的Debug和Release,点击“生成”。生成过程超TM长,大概两个多小时。

注:编译过程会遇到一些报错,百度一下基本都有答案(我只遇到了俩,在下面)

如:① 报std::max不识别,在对应头文件加#include <algorithm>;

② 报 “LCMapStringEx”: 找不到标识符,生成的stdafx.h头文件添加

#define _WIN32_WINNT 0x0A00
#define _ATL_APARTMENT_THREADED
#define _USING_V110_SDK71_
#define _ATL_XP_TARGETING

并在所在工程(一共两个,分别是 Examples osgsimplegl3Examples osgviewerMFC )的属性配置(Debug和Realse都需要)里,添加

_WIN32_WINNT=0x0A00
NTDDI_VERSION= 0x06030000
WINVER=0x0A00

最后,编译成功。

3、菜单栏,点击“生成”,“批生成”,选择INSTALL的Debug和Release,点击“生成”。

使用流程:

1、追加 Path 环境变量:D:\OSG\OpenSceneGraph\bin 和 D:\OSG\OpenSceneGraph\build\bin 和 D:\OSG\3rdParty\bin(注意,是三个路径!!

2、新加 OSG_FILE_PATH 变量:D:\OSG\OpenSceneGraph-Data

3、打开cmd,依次输入指令

osgversion(会输出版本号)
osgviewer cow.osg(会输出一张牛像,按键盘 Esc 键可退出)
osglogo(会输出一个英文logo,按键盘 Esc 键可退出)

进行验证。

编码验证:

新建VS2017 C++空工程,添加新.cpp 文件,输入代码:

#include <osgViewer/Viewer>
#include <osgDB/ReadFile>

int main(int argc, char **argv)
{
	osgViewer::Viewer viewer;
	viewer.setSceneData(osgDB::readNodeFile("cow.osg"));
	return viewer.run();
}

配置:x64,Debug,

① 添加头文件路径:D:\OSG\OpenSceneGraph\include;

② 添加 lib 库引用路径:D:\OSG\OpenSceneGraph\lib;

③ 引用lib库,输入:

OpenThreadsd.lib 
osgd.lib 
osgDBd.lib 
osgUtild.lib 
osgGAd.lib 
osgViewerd.lib 
osgTextd.lib

④ 点击键盘 F5 编译运行,会弹出上面那个牛像图,点击 Esc 键退出。

至此结束,感谢各位花费自己宝贵时间进行观看。。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值