注意:由于版本迭代问题,本文章不对将来如何编译osgEarth负责。
当下(2020年10月),编译osgEarth已经简单了很多。所需的全部代码,vcpkg均能提供。成功安装后,你将获得:
osgEarth 3.0
osg 3.6.5
geos 3.7.3
boost 全家桶 1.73.0
以及其他一大堆东西。
零、准备60G的空余硬盘空间。
顺带把cmake 3.8以上的版本准备好。低版本的话,根据我阅读过的文章,后续编译geos要多一个步骤。
Download | CMakecmake.org一、准备好vcpkg:
https://github.com/microsoft/vcpkggithub.com二、在vcpkg中键入:
vcpkg install osgearth:x64-windows
然后就等吧,或许需要关注下boost是否能编译成功。如果出现下载某个东西失败,请开启小飞机,DNS修改为 4.2.2.2/4.2.2.1。
顺利安装完osg 3.6.5后,ogsEarth果断安装失败。
三、替换GEOS 到 3.7.3版本:
http://download.osgeo.org/geos/geos-3.7.3.tar.bz2download.osgeo.org1、使劲戳上面的链接,下载 geos 3.7.3。
2、解压geos-3.7.3.tar.bz2到某个地方,使用 cmake-gui.exe 获得VS2019的工程。注意设置下安装目录,后面需要拿来收集include/bin/lib文件。其他没啥特别需要注意的了。产生出VS2019的工程后,打开它。
3、注意调整下geos和geos_c项目,在link选项卡里面,设置Release版本也生产pdb文件。然后编译Debug并编译install项目。去安装目录下,将bin/lib拷贝到单独的debug目录下。接着编译Release并编译install项目。然后你就收获了如下目录的geos 3.7.3:
installed
+bin
+geos.dll
+geos_c.dll
+lib
+geos.lib
+geos_c.lib
+libgeos.lib
+include
+......
+debug
+bin
+geos.dll
+geos.pdg
+geos_c.dll
+geos_c.pdg
+lib
+geos.lib
+geos_c.lib
+libgeos.lib
去把Release版的.pdb文件也找出来(应该在build/bin/Release目录下),放在bin目录下。
4、将编译获得的installed目录,拷贝到 vcpkginstalledx64-windows 目录下。注意debug的bin/lib目录是独立的。可能需要在debug版的dll/lib文件名后面添加一个d。即使用手工编译的geos 3.7.3覆盖vcpkg安装的 geos 3.8.1。
四、返回vcpkg,重新键入:
vcpkg install osgearth:x64-windows
然后接着等。
不出意外,大功告成。