ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

osgEarth源码编译(Win10+VS2019+OSG3.6.5+osgEarth2.10.0)

2021-07-18 21:29:46  阅读:988  来源: 互联网

标签:OSGCore VS2019 Bulid 目录 osgEarth2.10 点击 OsgEarth osgearth 源码


因工作需要,学习了OSG、osgEarth。

虽然OSG、osgEarth是开源软件,但我个人感觉,要从源码生成能用的软件版本还是有困难的。有时第三方库不完整、有时需要匹配各个软件配置项的版本;经常是编译出来的软件无法正常运行。

我零零散散使用了将近一个多月时间,才创建了一个能在Win10中正常运行的软件。总结一下,希望能为大家节省一些学习的时间。

1. 第三方组件下载及解压缩

下载网址:

http://www.openscenegraph.org/index.php/download-section/dependencies

我选择的是:

下载完成后,得到的压缩包名为“3rdParty_VS2017_v141_x64_V11_full.7z”。是由VS2017(v141)生成的第三方库。

解压后,将其保存在目录“D:\OSGCore\Bulid\3rdParty”中。

将目录“D:\OSGCore\Bulid\3rdParty\bin”加入系统环境变量Path中

2. OSG数据资源的下载

下载网址:

http://www.openscenegraph.org/index.php/download-section/data

下载完成后,得到的压缩包名为“OpenSceneGraph-OpenSceneGraph-3.4.0.zip”。

解压后,将其保存在目录“D:\OSGCore\Bulid\OpenScenGraph-Data”中。

添加系统环境变量 OSG_FILE_PATH ,值为 D:\OSGCore\Bulid\OpenScenGraph-Data 。

3. CMake的下载和安装

下载网址:

https://cmake.org/download/

我当时下载的是: cmake-3.20.1-windows-x86_64.msi

安装目录:C:\Program Files\CMake

4. OSG3.6.5的下载、编译及配置

下载网址:

http://www.openscenegraph.org/index.php/download-section/stable-releases

 

 下载完成后,得到的压缩包名为“OpenSceneGraph-OpenSceneGraph-3.6.5.zip”,将其解压到目录“D:\OsgEarth\OpenSceneGraph-3.6.5”。

CMake初始配置

运行CMake。

将目录“D:\OsgEarth\OpenSceneGraph-3.6.5”中的“CMakeLists.txt”拖放到CMake中。

在CMake界面点击“Configure”按钮。

 我的电脑上已安装了VS2019,点击“Finish”。CMake会产生初始配置(需做些修改)。

指定ACTURAL_3RDPARTY_DIR

将ACTURAL_3RDPARTY_DIR的值指定为第三方组件所在的目录,即“D:\OSGCore\Bulid\3rdParty”。

 指定FREETYPE

若不指定该项的值,osgEarth显示地球时,可能会提示错误信息“arial.ttf : file not handled”。(https://www.cnblogs.com/XiaoXiaoShuai-/p/12247425.html

指定的值如下图所示:

做上述修改后,再点击“Configure”按钮,进行配置,配置完成后,点击“Generate”,在“D:/OsgEarth/OpenSceneGraph-3.6.5/build”目录中生成解决方案(扩展名为sln的文件)。再点击“Open Project”,由VS2019打开解决方案。

MSVC v141 – VS2017 C++ x64/x86 生成工具(v14.16)的安装(若已安装,可跳过)

由于使用的第三方组件是由VS2017(v141)生成的“3rdParty_VS2017_v141_x64_V11_full.7z”。为了使得基于osgEarth开发的软件能够正常调试和运行,需要将OSG和osgEarth使用相同的编译器进行编译。

开始菜单àVisual Studio Installer

在主界面点击“修改”按钮

勾选“MSVC v141 – VS2017 C++ x64/x86 生成工具(v14.16)”,点击“下载时安装”,程序自动从网站下载并完成安装。

在VS2019中设置项目工具集 

在解决方案的“类视图”中,利用shift键选中所有项目,右键单击,在弹出菜单中点击“属性”,弹出“属性页”对话框。在“平台工具集”右侧的下拉列表中选择“Visual Studio 2017(v141)”。点击“应用”“确定”按钮使设置生效。

完成上述设置后(Release和Debug版都需要设置),即可开始生成。由于项目较多,编译时间需几个小时

OSG生成后的相关设置

在“D:\OSGCore\Bulid”目录中创建“OpenSceneGraphic”,并在其中创建目录include, lib, bin。

头文件复制。将目录“D:\OsgEarth\OpenSceneGraph-3.6.5\src”和“D:\OsgEarth\OpenSceneGraph-3.6.5\build\include”中的所有文件复制建立的include目录中。

库文件复制。将目录“D:\OsgEarth\OpenSceneGraph-3.6.5\build\lib”中的文件复制到建立的lib目录中。

可执行文件复制。将目录“D:\OsgEarth\OpenSceneGraph-3.6.5\build\bin”中的文件复制到建立的bin目录中。

添加系统环境变量 OSG_ROOT,值为 D:\OSGCore\Bulid\OpenSceneGraphic。

将目录“D:\OSGCore\Bulid\bin”添加到系统环境变量Path中

OSG运行正确性测试

在命令行窗口输入命令“osgviewer cow.osg”,如显示出奶牛,则说明OSG正常运行。

5. osgEarth2.10.0的下载、安装及编译 

下载网址:

https://codeload.github.com/gwaldron/osgearth/zip/osgearth-2.10

下载完成后,得到的压缩包名为“3rdParty_VS2017_v141_x64_V11_full.7z”。是由VS2017(v141)生成的第三方库。

下载完成后,得到的压缩包名为 “osgearth-osgearth-2.10.zip”中。

解压后,将其保存在目录“D:\OsgEarth\osgearth-osgearth-2.10”中。

OsgEarth2.10.0的编译

运行CMake。

将目录“D:\OsgEarth\osgearth-osgearth-2.10”中的“CMakeLists.txt”拖放到CMake中。

在CMake界面点击“Configure”按钮。

我的电脑上已安装了VS2019,点击“Finish”。CMake会产生初始配置(需做些修改)。

 指定THIRD_PARTY_DIR

 将THIRD_PARTY_DIR的值指定为第三方组件所在的目录,即“D:\OSGCore\Bulid\3rdParty”。

指定CURL

 指定的值如下图所示:

指定GDAL 

做上述修改后,再点击“Configure”按钮,进行配置,配置完成后,点击“Generate”,在“D:\OsgEarth\osgearth-osgearth-2.10\build”目录中生成解决方案(扩展名为sln的文件)。再点击“Open Project”,由VS2019打开解决方案。

在VS2019中设置项目工具集 

在类视图中选中所有项目,在属性页对话框的“平台工具集”右侧的下拉列表中选择“Visual Studio 2017(v141)”。点击“应用”“确定”按钮使设置生效。

生成Release和Debug版本。需消耗几小时。

osgEarth生成后的相关设置 

 在“D:\OSGCore\Bulid”目录中创建“OsgEarth”,并在其中创建目录include, lib, bin。

头文件复制。将目录“D:\OsgEarth\osgearth-osgearth-2.10\src”中的所有文件复制建立的include目录中。

库文件复制。将目录“D:\OsgEarth\osgearth-osgearth-2.10\build\lib\Release”和“D:\OsgEarth\osgearth-osgearth-2.10\build\lib\Debug”中的文件复制到建立的lib目录中。

可执行文件复制。将目录“D:\OsgEarth\osgearth-osgearth-2.10\build\bin\Release”和“D:\OsgEarth\osgearth-osgearth-2.10\build\bin\Debug”中的文件复制到建立的bin目录中。

osgEarth数据文件复制。将“D:\OsgEarth\osgearth-osgearth-2.10\data”中的文件复制到目录“D:\OSGCore\Bulid\OpenScenGraph-Data”中。

将目录“D:\OSGCore\Bulid\OsgEarth\bin”添加到系统环境变量Path中

osgEarth运行正确性测试

 在命令行窗口输入命令“osgearth_viewer gdal_tiff.earth”,如显示出地球,则说明osgEarth正常运行。

标签:OSGCore,VS2019,Bulid,目录,osgEarth2.10,点击,OsgEarth,osgearth,源码
来源: https://blog.csdn.net/Alexabc3000/article/details/118882997

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有