54 lines
1.6 KiB
Markdown
54 lines
1.6 KiB
Markdown
# 编译GDAL
|
|
|
|
## 搭建编译环境
|
|
|
|
```shell
|
|
docker pull centos:centos7.5.1804
|
|
docker run -it -d --name centos75 centos:centos7.5.1804
|
|
docker exec -it centos75 bash
|
|
```
|
|
|
|
## 编译
|
|
|
|
```shell
|
|
# 安装一些依赖库
|
|
yum install gcc gcc-c++ make libtiff libtiff-devel curl libcurl-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel libtool ant swig
|
|
|
|
# 解压
|
|
tar -zxvf gdal-3.2.1.tar.gz
|
|
tar -zxvf proj-7.2.1.tar.gz
|
|
tar -zxvf sqlite-autoconf-3360000.tar.gz
|
|
|
|
# 编译安装sqlite3
|
|
cd sqlite-autoconf-3360000
|
|
./configure --prefix=/usr/local/sqlite3
|
|
make && make install
|
|
# 配置 PKG_CONFIG_PATH 环境变量 否则编译proj找不到sqlite3
|
|
export PKG_CONFIG_PATH=/usr/local/sqlite3/lib/pkgconfig/:$PKG_CONFIG_PATH
|
|
|
|
# 编译安装proj
|
|
cd ../proj-7.2.1
|
|
./configure --prefix=/usr/local/proj-7.2.1
|
|
make && make install
|
|
export PKG_CONFIG_PATH=/usr/local/proj-7.2.1/lib/pkgconfig/:$PKG_CONFIG_PATH
|
|
|
|
# 编译安装gdal
|
|
cd ../gdal-3.2.1
|
|
./configure --prefix=/usr/local/gdal-3.2.1 --with-java=/usr/lib/jvm/java/ --with-proj=/usr/local/proj-7.2.1/ --with-sqlite3=/usr/local/sqlite3
|
|
make && make install
|
|
# make 失败提示找不到 /usr/local/lib/libsqlite3.la 将 /usr/local/sqlite3/lib/libsqlite3.la 拷贝过去即可。然后执行 make clean 后再重新编译。
|
|
|
|
# 修改java.opt文件中的 'JAVA_HOME' 变量为系统配置 此例为 /usr/lib/jvm/java/
|
|
cd swig/java
|
|
vi java.opt
|
|
# 编译java用到的一些包
|
|
make && make install
|
|
cp .lib/*.so /usr/local/lib/
|
|
cp gdal.jar $JAVA_HOME/jre/lib/ext/
|
|
|
|
# 压缩生成文件以便于迁移
|
|
cd /usr/local/
|
|
tar -zcvf gdal-3.2.1.tar.gz gdal-3.2.1
|
|
tar -zcvf proj-7.2.1.tar.gz proj-7.2.1
|
|
tar -zcvf sqlite3.tar.gz sqlite3
|
|
``` |