osgEarth源码编译
说明:本文环境配置于2023年12月初,因此所有通过git直接clone的仓库也是对应的版本,即osgearth版本为3.3
环境配置
- win10 专业版
- Visual Studio 2019
- cmake
- vcpkg
内容参考
Building osgEarth from Scratch
OsgEarth学习笔记-新01,从源码编译osgEarth
vcpkg安装
git下载vcpkg源代码
Github:vcpkg源码
git clone https://github.com/microsoft/vcpkg.git
安装vcpkg
本文中vcpkg安装路径:E:\GitHub\vcpkg
win+r打开命令行
e:
cd E:\GitHub\vcpkg
运行vcpkg引导程序命令
.\bootstrap-vcpkg.bat
添加至环境变量
打开环境变量,在Path路径中将vcpkg的安装路径
测试
win+r 打开命令行,输入vcpkg
osgEarth源码编译
osgEarth相关环境下载
首先下载 vcpkg 并按照页面指引初始化,然后安装所需依赖
vcpkg install osg:x64-windows gdal:x64-windows curl:x64-windows
要支持所有功能,可以安装可选依赖。最好把所有的都安装上,在使用cmake编译代码时需要sqlite3、protobuf、libwebp这些内容
vcpkg install sqlite3:x64-windows protobuf:x64-windows geos:x64-windows blend2d:x64-windows libwebp:x64-windows basisu:x64-windows draco:x64-windows libzip:x64-windows
osgearth源代码下载
Github:osgearth源代码
git下载osgearth源码
git clone --recurse-submodules https://github.com/gwaldron/osgearth.git osgearth
这将会克隆代码到一个 osgearch 的目录,同时也递归下载了子模块git只下载3.0分支
git clone -b 3.0 https://github.com/gwaldron/osgearth.git osgearth-3.0
本文中osgearth源码位置:E:\osgearth231204\osgearth
源码编译
本文中vcpkg源码所在文件夹为E:\GitHub\vcpkg
打开命令行
win+r
e:
cd E:\GitHub\vcpkg
创建build文件夹
mkdir build
cmake编译osgEarth
打开cmake,指定源码所在文件夹、build生成目录位置
点击Configure,选择Visual Studio 16 2019,然后将显示所有需要配置的第三方包依赖情况。根据已经读取CMakeLists.txt文件后的cmake工具窗口,将每一个osgEarth所需的第三方包的路径选择并指定
如果在前面使用vcpkg已经安装了osgearth所需的第三方包,则此处可按照下图所示的路径填写所需的第三方包位置,所有的包都可以在 *E:\GitHub\vcpkg\installed\x64-windows\ 文件夹下找到。
说明1:如果有的包在cmake中没有显示点击Generate便会出现
说明2:protoc.exe在 E:\GitHub\vcpkg\installed\x64-windows\tools\protobuf 文件夹下
说明3:LEVELDB PKG POCO POCKSDB SILVERLINING TRITON 不进行配置也并无影响
全部配置完成后,点击Generate生成VisualStudio工程
在E:\osgearth231204\osgearth\build文件夹下打开OSGEARTH.sln
,选择编译环境为Release、x64,右键整个项目,生成解决方案
说明:如果在生成失败后,在输出中显示存在链接错误相关问题,则是说明在cmake中配置osgearth所需的第三方环境存在问题
osgearth测试
在命令行中运行osgearth_view.exe
查看.earth
文件,需要将第三方包以及osg的库文件拷贝到osgearth项目生成的exe所在的文件夹中。
在本文中osgearth编译生成的exe程序在E:\osgearth231204\osgearth\build\bin\Release 文件夹下,需要将生成的 E:\osgearth231204\osgearth\build\lib\Release 文件夹下的库以及 E:\GitHub\vcpkg\installed\x64-windows\bin 文件夹下的第三方库拷贝过去
在E:\osgearth231204\osgearth\build\bin\Release 文件夹下打开命令行
osgearth_viewer.exe E:\osgearth231204\osgearth\tests\simple.earth
出现下图所示内容,证明编译成功!
osgearth_viewer.exe E:\osgearth231204\osgearth\tests\simple.earth
出现下图所示内容,证明编译成功!