0基础OSG+OSGEARTH环境搭建(win10 x64+vs2022+OSG3.6.5+osgEarth3.1)(一)

        本人OSGEarth新手,因为业务需要,搭建OSGEarth开发环境。感觉搭建过程比较复杂,也在网上查找各种材料及参考了很多搭建过程的文章,仍然不能顺利搭建。感谢网上各位大神写的文章,才能最终搭建完成,现将搭建过程整理并做记录。

一、环境准备

1、软件版本信息

        1)系统环境:        win10 64位

        2)研发工具:        VS2022

        3)软件及版本:     CMake 3.26.5

                                        OSG  OpenSceneGraph-3.6.5

                                        OSGEarth osgearth-3.1

                                        PROJ  proj-6.3.2

                                        CURL  curl-7.65.3.zip

                                        GDAL  gdal-3.3.2

                                        GEOS geos-3.7.3

                                        SQLite 3

                                        Libzip libzip-1.10.1

                                        Zlib  zlib-1.2.7.2

                                        HDF4 HDF4.2.6

                                        HDF5 HDF5-1.8.7

2、VS2022 安装   

  下载 VS2022,VS2022的安装这里就不赘述了,注意安装时需要勾选MFC选项。

如果没有安装MFC组件也可以在VS2022安装完成后选择添加组件进行安装。在vs中创建新项目,右侧滑动框直接拉到最底下,找到安装多个工具和功能,如下图所示:

3、CMAKE

  下载  CMake 3.24.4  ,并解压CMAKE到 D:\OSGEarthDEV\cmake-3.26.5-windows-x86_64

   

 4、OSG

下载 OpenSceneGraph-3.6.5 并解压到D:\OSGEarthDEV\OSG\OpenSceneGraph-OpenSceneGraph-3.6.5

    

 5、依赖包

下载 3rdParty,目前没有和VS2022对应版本,下载最新的版本VS2017全量包3rdParty_VS2017_v141_x64_V11_full.7z 

下载后解压到D:\OSGEarthDEV\OSG\3rdParty

6、数据包

下载 数据包

解压到D:\OSGEarthDEV\OSG\OpenSceneGraph-Data-3.4.0目录下。

二、OSG环境搭建

1、构建OSG

1)在D:\OSGEarthDEV\OSG\OpenSceneGraph-OpenSceneGraph-3.6.5文件夹中,创建新文件夹build_vs2022

2)使用CMAKE-GUI构建,并配置资源及构建目录。

source code 选择OSG解压目录,build目录选择新建的build_2022,点击【Configure】。

点击 【Finish】

■ 注意ACTUL_3RDPARIT_DIR的值指向刚才解压后的依赖包位置。

■ 勾选BUILD_OSG_EXAMPLES

■ 修改CMAKE_INSTALL_PREFIX值为D:/OSGEarthDEV/OSG/OpenSceneGraph-OpenSceneGraph-3.6.5/build_vs2022

■ 取消勾选OSG_TEXT_USE_FONTCONFIG

■ 修改FREETYPE_INCLUDE_DIR的值为:D:/OSGEarthDEV/OSG/3rdParty/x64/include

■ 修改FREETYPE_INCLUDE_DIR_freetype2的值为D:/OSGEarthDEV/OSG/3rdParty/x64/include

■ 修改FREETYPE_INCLUDE_DIR_ft2build的值为:D:/OSGEarthDEV/OSG/3rdParty/x64/include

■ 修改FREETYPE_LIBRARY的值为:D:/OSGEarthDEV/OSG/3rdParty/x64/lib/freetype271.lib

■ 修改FREETYPE_LIBRARY_DEBUG的值为:D:/OSGEarthDEV/OSG/3rdParty/x64/lib/freetype271d.lib

■ 修改FREETYPE_LIBRARY_RELEASE的值为:D:/OSGEarthDEV/OSG/3rdParty/x64/lib/freetype271.lib

■ 修改JPEG_INCLUDE_DIR的值为:D:/OSGEarthDEV/OSG/3rdParty/x64/include

■ 修改JPEG_LIBRARY的值为:D:/OSGEarthDEV/OSG/3rdParty/x64/lib/jpeg.lib

■ 修改JPEG_LIBRARY_DEBUG的值为:D:/OSGEarthDEV/OSG/3rdParty/x64/lib/jpegd.lib

■ 修改JPEG_LIBRARY_RELEASE的值为:D:/OSGEarthDEV/OSG/3rdParty/x64/lib/jpeg.lib

再次【Configure】。

■ 勾选BUILD_MFC_EXAMPLE

再次【Configure】。发现没有红色栏了。

输出栏有警告信息,发现有很多路径找不到,警告信息不影响后面的生成。主要依赖包应该都可在D:/OSGEarthDEV/OSG/3rdParty中找到。在CMAKE中重新配置路径。

上面办法有点麻烦,需要一个一个进行配置,发现3rdParty这个文件夹中的路径可能有问题,觉得ACTUL_3RDPARIT_DIR项配置好的话,下面的路径可以自动识别。修改个文件路径看。

■ 依赖文件的原路径为:D:\OSGEarthDEV\OSG\3rdParty\x64

■ 修改后依赖文件路径为:D:\OSGEarthDEV\OSG\3rdParty

点击【Generate】。发现大部分路径已经配置好了。开心!

注意:上面修改的路径都需要修改为去掉x64的目录,我在后面生成时这一步可能忘了。

■ 修改FREETYPE_INCLUDE_DIR的值为:D:/OSGEarthDEV/OSG/3rdParty/include

■ 修改FREETYPE_INCLUDE_DIR_freetype2的值为D:/OSGEarthDEV/OSG/3rdParty/include

■ 修改FREETYPE_INCLUDE_DIR_ft2build的值为:D:/OSGEarthDEV/OSG/3rdParty/include

■ 修改FREETYPE_LIBRARY的值为:D:/OSGEarthDEV/OSG/3rdParty/lib/freetype271.lib

■ 修改FREETYPE_LIBRARY_DEBUG的值为:D:/OSGEarthDEV/OSG/3rdParty/lib/freetype271d.lib

■ 修改FREETYPE_LIBRARY_RELEASE的值为:D:/OSGEarthDEV/OSG/3rdParty/lib/freetype271.lib

■ 修改JPEG_INCLUDE_DIR的值为:D:/OSGEarthDEV/OSG/3rdParty/include

■ 修改JPEG_LIBRARY的值为:D:/OSGEarthDEV/OSG/3rdParty/lib/jpeg.lib

■ 修改JPEG_LIBRARY_DEBUG的值为:D:/OSGEarthDEV/OSG/3rdParty/lib/jpegd.lib

■ 修改JPEG_LIBRARY_RELEASE的值为:D:/OSGEarthDEV/OSG/3rdParty/lib/jpeg.lib

GDAL 还有问题,debug Library的lib找不到,配置一个和上面Library 一样的

我在这有些依赖没有找到,只修改GDAL的问题,警告信息就先暂时不管了。点击【Generate】可以成功。

生成成功。

2、项目编译

使用VS2022打开项目

选择【生成】--- 【批生成】

选择 ALL_BUILD ---- Debug|x64 和 ALL_BUILD----Release|x64

生成时间比较漫长,请耐心等待,我的生成时间大约3个小时。

生成过程中报错, 有很多 

LINK : fatal error LNK1181: 无法打开输入文件“..\..\lib\osgViewer.lib”

LINK : fatal error LNK1181: 无法打开输入文件“..\..\lib\***.lib”

这种问题,报生成有失败。

应该是在CMAKE步骤有问题,可能有些配置改乱了。我从新CMAKE了一遍,下面是我的CMAKE的所有配置如图:

再次使用vs2022打开项目,选择【生成】--- 【批生成】

选择 ALL_BUILD ---- Debug|x64 和 ALL_BUILD----Release|x64

漫长的等待。。。。。。。。。。。。。。。。。。。。。。。。。。用时2个多小时。

还有失败,修改osgviewerMFC中代码  0x0501 代表XP系统,修改为 0x0A00 代表win10系统。 

再次

这次很快用时几十秒。

这个也很快。

三、验证是否编译成功

1、配置环境变量

右键此电脑--》高级系统设置--》高级--》环境变量

新建环境变量OSG_FILE_PATH,值为:D:\OSGEarthDEV\OSG\OpenSceneGraph-Data-3.4.0

在Path变量中添加 osg的build生成的build_vs2022文件夹中的bin目录

2、验证是否成功

win+r 运行  cmd  

运行命令 osgversion
OpenSceneGraph Library 3.6.5

没有问题----------

运行 osglogo 报错,还有这种错,系统缺少zlib.dll文件。

将D:\OSGEarthDEV\OSG\3rdParty\bin中的zlib.dll文件复制到C:\Windows\System32   和   C:\Windows\SysWOW64。

再次运行osglogo

成功。。。。。。。。。。。。。。。。。。。。。。

配置好环境变量后可直接运行D:\OSGEarthDEV\OSG\OpenSceneGraph-OpenSceneGraph-3.6.5\build_vs2022\bin 中的示例程序(.exe)

运行 osgtexture3D

3、读取osg文件

因为配置了数据的环境变量所以使用osgViewer 可直接读取D:\OSGEarthDEV\OSG\OpenSceneGraph-Data-3.4.0中的数据文件。如图

运行  osgViewer cow.osg

本文参阅:OSG-OpenSceneGraph在WIN10与VS2022下的部署   感谢作者

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值