VS2019 +osg3.6.5+ earth3.2+qt5.14.2+osgQt 编译教程

本人微信公众号 程序员架构笔记

欢迎大家关注,本篇博客花了很长时间才完成,感谢大家关注我。

这是跑起来的osgearthDemo效果

工具与环境

这里使用的 cmake-3.29 、 VS2019 和 osgQt 进行编译。

Cmake版本应该无所谓,vs也可以选择vs2017,本次用vs2019给大家编译。

在这里想给分享下,其实只要选对版本,网上也有很多资料。我去年花了半个月编出了球,踩了很多坑。

最近公司又需要国产化麒麟V10系统,又重新把qt5.14.2源码编译,又踩了很多坑,其实都不是很难,只要你敢做肯定可以,其实很多博客都可借鉴的。我也是看了好多博客才在win10上把球给编出来。

Vs2019如何配置qt5.14.2这个不在一一介绍,

一、编译OSG3.6.5

1、下载

下载不多赘述,在github osg3.6.5版本。

Release OpenSceneGraph-3.6.5 · openscenegraph/OpenSceneGraph · GitHub

另外还需要 3rdpartyVs2019x64.7z 和 OpenSceneGraph-Data-3.0.0 可以在OSG英文官网中下载到。

可以参考博客:VS2019编译OSG3.7.0+OSGEarth3.3+OSGQt_osgearth 编译-CSDN博客

2、cmake编译 osg

2.1 将OSG3.6.6源码、3rdpartyVs2019x64.7z

(备注 vs2017可以用这个 3rdParty_VS2017_v141_x64_V11_full)、OpenSceneGraph-Data-3.4.0解压到合适的目录,并新建一个文件夹用于保存cmake生成的项目。如下图,这里我放在了同级目录下。

然后打开cmake,在最上面第一栏选择OSG源码中CMakeLists文件所在文件夹的路径,第二栏选择上面自己新建的文件夹路径,然后点击Configure按钮,会弹出如下图子界面,第一栏选择VS2019,第二栏选择x64点击Finish按钮,cmake开始加载。

等待加载完成,会显示一片红,并在下面的log中显示一些库找不到。

The following OPTIONAL packages have been found:

* OpenGL

* Threads

-- The following OPTIONAL packages have not been found:

* EGL

* Freetype

* ilmbase

* Inventor

* Jasper

* OpenEXR

* OpenCascade

* LibXml2

* COLLADA

* FBX

* GDAL

* GTA

* CURL

* LibVNCServer

* DCMTK

* FFmpeg

* GStreamer

* GLIB

* DirectShow

* SDL2

* SDL

* Poppler-glib

* RSVG

* GtkGl

* DirectInput

* NVTT

* ZeroConf

* LIBLAS

* GIFLIB

* JPEG

* ZLIB

* PNG

* TIFF

* QuickTime

* Fontconfig

默认只有 OpenGL和Threads找到,其他都没有found,

这里我要说明下,建议需要配置的有:

2.2  FreetypeLibXml2 GDAL得有,还需要Proj库, CURLGIFLIB, JPEG,PNG,ZLIB,PNG,TIFF. NVTT等,尽量多设置些依赖的库

备注: 因为windows平台下很多第三方库已经编好了,例如GIFLIB, JPEG png,zlib,tiff nvtt 等已经编好了,如果在linux或者麒麟 arm下,有些库是要自己重新编的,要比windows编译麻烦一点。

如果有一天在麒麟linux编译,不要害怕,我会另写一篇在国产麒麟linux编译 osg+osgearth+osgqt的博客

2.3 如果自己想编  gdal-3.0.4,可以参考下面步骤:

proj-6.2.1  gdal-3.0.4

参照该博客https://developer.aliyun.com/article/1257671

生成 sqlite3.lib sqlilis3.dll

2.4 编译proj-6.2.1,遇到了一个坑,需要设置 sqllite3.exe

编译Gdal3.0.4 参照这个博客WIN10 VS2019下编译GDAL3.0+PROJ6+SQLite_x64 native tools command prompt for vs 2019-CSDN博客

点击BUILD项展开,勾选BUILD_OSG_EXAMPLES项。

然后一直点击Configure按钮直到没有红色项,从下面log可见部分库已经找到(如果没有其他要求,官网下的依赖包中的库应该就已经足够,不需要额外再下别的库了),然后点击Generate按钮,等进度条走完,下方log显示Generating done,即项目生成结束。

最后点击Generate按钮,等待项目生成完毕。

通过vs2019打开 OpenSceneGraph.sln功能,改成Release编译即可。

3 cmake编译 osgQt里面有osgQOpenGL这个库

这个osgQt是比较古老的,说是osg3.几之后需要用osgqt,

下载不多赘述,在github上直接下的master版本。

cmake

build文件下打开sln

cmake

框选的osg的头文件和lib文件都需要设置

该地方有个坑,可能编译失败提示没有版本什么的,我是把

把这两个文件夹复制到 D:osg\OpenScenneGraph\include里面即可

再用vs2019编译成功

4 编译osgEarth3.2

下载不再陈述

这里要重点的必须的库:

Geos , probobuf, sqllist3,gdal ,curl这些是必须的否则后续会出问题,

上面的库如何cmake,不再过多陈述

其他osg当然要设置。

该地方也有坑,需要#include <geos_c.h>该头文件可能报错

头文件和附加依赖项设置下面的即可

D:\osg\geos-3.9.5\build\capi

D:\osg\geos-3.9.5\build\lib\Release\geos_c.lib

5 最后就是见证奇迹的时刻

用vs新建工程,稍后会在写一篇博客上分享

四、结语

至此,所有的编译就均已完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员架构笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值