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>就可以了.

posted @ 2020-07-08 16:01  kissrule  阅读(1424)  评论(0编辑  收藏  举报