osgEarth安装总结
第一步:安装OSG
直接通过git下载源码,使用cmake进行编译,
git clone --depth 1 https://github.com/openscenegraph/OpenSceneGraph.git
mkdir build
cd build
cmake ..
make
sudo make isntall
编译过程中缺什么库,就安装什么库
安装完成后,
输入命令:
osgversion
显示版本号即可。
接下来安装osgEarth
osgEarth的安装比较麻烦,问题也多,主要是对应的git库下载源码下来后,编译无法一次性通过,报错较多。
通过git下载源码,或者直接下载压缩包。
git clone --depth 1 https://github.com/gwaldron/osgearth.git
mkdir build
cd build
cmake ..
make
sudo make isntall
主要是编译过程中报错较多,
一个是出现缺少tingytf相关的库文件和头文件,直接通过github下载源码,编译安装,并将对应的src文件夹复制到osgearth的third_parth中,
安装好后,编译通过,会继续报错缺少头文件,rapidjson.h,
同样在github找rapidjson的源码进行编译安装,(我github上下载的编译会报错,在gitee上下载就正常编译通过了)。
和tingytf处理,在osgearth的文件夹中复制,
报错lerc一样处理。
在以上3个均正常安装后,进入下一步(上述3个三方库需要手动安装是由于我使用下载压缩包方式,没有直接git clone,正常直接git clone下来后,再使用git submodule update --init 会直接拉取这些源码)。
三方库军安装完成后,编译出现lerc_decode和lerc_encode的函数问题,采用方法是,将函数对照,缺少的参数补上, 直接给nullptr值即可。缺少(const unsigned char* pValidBytes, // nullptr if all pixels are valid; otherwise 1 byte per pixel (1 = valid, 0 = invalid))参数。在对应报错的文件里面,直接改源码即可。
最后成功后,使用命令
osgearth__version
若提示error,则修改 ~/.bashrc,
在文件最后添加一行
export LD_LIBRARY_PATH=/usr/local/lin:$LD_LIBRARY_PATH
要确保/usr/local/lib文件夹中有libosgearth.so.*相关的问价。
没有则说明安装失败。需要重新安装。
文件修改后,采用source ~/.bashrc
h 生效