编译GDAL、目录

This commit is contained in:
游由 2021-06-25 15:09:04 +08:00
parent 8582d05529
commit a9ec37606d
4 changed files with 62 additions and 1 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
/.idea

View File

@ -2,7 +2,7 @@
## 新建容器
```powershell
```shell
docker pull centos:7 # 获取centos7的镜像
docker run -it -d --privileged=true --name centos -p 2222:22 centos:7 /usr/sbin/init # 启用内核权限 绑定容器ssh的22端口到主机的2222端口
docker exec -it centos bash # 进入容器

5
Readme.md Normal file
View File

@ -0,0 +1,5 @@
笔记本
+ [德劳内三角形数学公式](DVAlg.md)
+ [Clion配置Docker工具链](ClionDockerCentosGccToolchain.md)
+ [编译GDAL](build_gdal.md)

54
build_gdal.md Normal file
View File

@ -0,0 +1,54 @@
# 编译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
```