ubuntu16.04 osg3.4 osgearth2.8搭建
geos-3.4.2
lz4-1.9.2
gflags-2.2.2
rocksdb-5.4.7
zlib-1.2.11
zstd-1.4.5
sqlite 3.32.1
snappy-1.1.8
protobuf-cpp 3.12.2
cur 7.70.0
proj-6.1.1
gdal 3.10.0
osg 3.4.0
osgearth 2.8.0
1 其中在编译sqlite3时,修改一下当前目录的sqlite3.c文件,红色是新加的部分,不加的话,gdal编译不过.
#define SQLITE_CORE 1
#define SQLITE_AMALGAMATION 1
#ifndef SQLITE_PRIVATE
# define SQLITE_PRIVATE static
#endif
#define SQLITE_ENABLE_COLUMN_METADATA 1
2 在编译osgearth时会报c++11的问题,在camkelist中加入add_definitions(-std=c++11)来强制使用c++11编译就可以了.
3 osgearth_viewer ./ocean.earth
/usr/lib/libgdal.so.1: no version information available
解决方法:创建链接文件时使用 ln -sv src link 必须带v参数.
4 gdal编译
# 因为系统有多个proj(上面安装了新的proj),如果不添加proj的安装路径,
# ./configure会报错:error: PROJ 6 symbols not found
./configure --with-proj=/usr/local/
make
make install
ldconfig
gdalinfo --version
5 rocksdb编译,如果出现major, minor重定义问题,在提示的源文件中加入
#include <sys/sysmacros.h>就可以了.