前言
原本笔者没想过要再编译osgearth3.4.0版本的,但小伙伴说最新版的开发教程不好找,当前只有3.4.0的,所以需要搭建下osgEarth3.4.0的开发环境。根据之前搭建最新版本的经验,笔者进行了本次编译,整个过程相对顺利,在此记录下,供有需要的小伙伴参考
一、编译环境准备
1.安装git
网上教程很多,不再解释
2.安装cmake
网上教程很多,不再解释
笔者直接使用Qt安装包里的
3.安装vcpkg
下载地址:GitHub – microsoft/vcpkg: C++ Library Manager for Windows, Linux, and MacOS
可以直接使用git拉下来,执行如下命令
git clone https://github.com/microsoft/vcpkg.git
笔者建议,这个git单独找目录放置,以免使用时破坏本项目的依赖
下载完成后,在cmd中执行下目录下的bootstrap-vcpkg.bat
执行完成后,会在此目录下看到 vcpkg.exe文件

4.安装vs2022
网上教程很多,不再解释
二、依赖配置修改
1.修改环境变量
需要将cmke、git、vcpkg的目录,添加到环境变量中
可以执行类似如下命令
set path=D:QtToolsCMake_64in;G:osgearthvcpkg;%path%
以上命令需要读者自行修改下,
也可以直接配置到环境变量中,但若要编译多个版本,笔者还是建议使用命令行临时修改
2.修改vcpkg中的osg配置
在vcpkg中找到文件ports/osg/portfile.cmake
打开文件,找到
set(osg_OPENGL_PROFILE "GL2")

这里需要根据实际需要修改,笔者是修改成了GL3
三、源码下载
创建一个目录,并下载osgEarth源码
源码下载地址:https://github.com/gwaldron/osgearth/tree/master
可以参考如下命令
mkdir osgearth && cd osgearth
git clone --recurse-submodules https://github.com/gwaldron/osgearth.git repo
源码下载完成后,记得需要切换下分支到3.4.0,笔者直接使用Git Gui修改的

当然也可以直接使用命令进行切换
四、源码编译
笔者是使用了cmake-gui操作的,当然也可以直接使用cmake命令进行操作

然后直接点击Configure

选择使用vs2022,并指定编译链文件

编译链文件,在vcpkg的安装目录中,读者需要修改成自己的文件目录,然后点击Finish
接下来就是比较长的等待了,过程比较长,vcpkg会一边下载源码,一边编译,请确保本机有足够的硬盘空间和内存空间 ,若是中间失败了,可以重复执行此命令
注:笔者在下载fontconfig依赖时,发生了错误,提示如下:

根据日志指引,找到具体的日志文件

问题原因: Python 环境缺少 distutils 模块,从 Python 3.12 开始,distutils 已被移除
解决方法:自己下载python3.11,安装后直接替换vcpkg的python的python3.12.7
vcpkg的python具体目录为vcpkg目录下的downloads oolspythonpython-3.12.7-x64-1,整个目录下的内容全部删除,然后把python3.11的复制过来就可以
注:网上也有教程,直接执行如下命令,但笔者未测试
vcpkg install python3 --version=3.11
然后继续点击Configure
若一切顺利,可以在osgearth目录下,找到build目录
注:若需要更精细的配置选项,此时可以使用cmake-gui打开此目录,并修改需要的配置,并重新Configure、Generate生成
笔者就是通过这种方法,修改了安装目录

在build目录中,找到OSGEARTH.sln,可以使用vs2022打开

先在debug模式下编译,然后安装


笔者在此成功生成debug库,但在生成release库时出错,提示如下

仔细看了下,原来是部分库应该链接release库,把链接了debug库
回到cmake-gui中, 直接修改成release库(注意不止一处,基本上把目录上的debug去掉就可以)

再回到vs2022切换成release


若一切顺利,就可以在安装目录下找到,我们需要的文件了

五、运行环境设置
使用生成的库时,要注意下,因为生成的是动态库,所以仍然需要vcpkg里的东西,所以一定要注意,vcpkg不要随便用在其他项目上,以免破坏原来的库(小编的泪啊)
一般开发或打包时,在build目录中就可以找到需要的文件或库
具体目录为buildvcpkg_installedx64-windows
当然也有例外,需要去vcpkg目录下的packages查找自己需要的库
后记
在整个教程中,建议使用科学的上网方式,否则很多库比较难下载
在一个cmd中配置好环境变量后,建议后面的操作,都在这一个窗口中进行

















暂无评论内容