diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8e69e07 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/.idea + diff --git a/ClionDockerCentosGccToolchain.md b/ClionDockerCentosGccToolchain.md index 569b52b..dbd44e6 100644 --- a/ClionDockerCentosGccToolchain.md +++ b/ClionDockerCentosGccToolchain.md @@ -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 # 进入容器 diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..949a889 --- /dev/null +++ b/Readme.md @@ -0,0 +1,5 @@ +笔记本 + ++ [德劳内三角形数学公式](DVAlg.md) ++ [Clion配置Docker工具链](ClionDockerCentosGccToolchain.md) ++ [编译GDAL](build_gdal.md) \ No newline at end of file diff --git a/build_gdal.md b/build_gdal.md new file mode 100644 index 0000000..f86c206 --- /dev/null +++ b/build_gdal.md @@ -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 +``` \ No newline at end of file