工作中经常会进行程序部署,软硬件系统变化程序都需要重新编译进行适配:armCPU、X86CPU 、Ubuntu系统、Redhat、CentOS系统等等都需要重新编译库
安装包源码下载点击【这里(免积分下载)】
包含:
1、sqlite-autoconf-3360000.tar.gz
2、tiff-4.2.0.tar.gz
3、curl-7.71.1.tar.gz
4、proj-7.1.0.tar.gz
5、geos-3.8.1.tar.bz2
6、gdal-2.4.4.tar.gz
安装gdal前需要按照顺序先把sqlite3、tiff、curl、proj、geos库都编译好,最后才能顺利编译出gdal
在线编译gdal以前写过,这里就不说了,特此整理离线编译的方法:
安装前说明:
1、安装根目录:/home/zhupenghui/opencv401/GDAL
2、压缩包所有的都解压到安装根目录
3、./configure 后面的–prefix参数指的是编译后安装目录
4、前面五个库安装./configure 配置的时候只用配置输出目录,在最后进行gdal安装的时候需要配置编译好的proj库的bin文件夹
下面开始编译吧:
如果不更改代码直接编译,在后续运行编译的程序可能异常报错,报错信息如下:
undefined symbol: sqlite3_column_table_name
为避免该报错,需找到压缩包下的sqlite3.c文件,在前面增加定义一下下面的宏(参见参考链接2)
#define SQLITE_ENABLE_COLUMN_METADATA 1
cd /home/zhupenghui/opencv401/GDAL/sqlite-autoconf-3360000
sudo mkdir build
sudo ./configure --prefix=/home/zhupenghui/opencv401/GDAL/sqlite-autoconf-3360000/build
sudo make
sudo make install
完了后设置环境变量
cd /home/zhupenghui/opencv401/GDAL/tiff-4.2.0
mkdir build
./configure --prefix=/home/zhupenghui/opencv401/GDAL/tiff-4.2.0/build
make
make install
cd /home/zhupenghui/opencv401/GDAL/curl-7.71.1
mkdir build
./configure --prefix=/home/zhupenghui/opencv401/GDAL/curl-7.71.1/build
make
make install
./configure --prefix=/home/zhupenghui/opencv401/GDAL/proj-7.1.0/build
make
make install
./configure --prefix=/home/zhupenghui/opencv401/GDAL/geos-3.8.1/build
make
make install
注意设置proj编译的bin目录,再设置输出目录
cd
./configure --with-proj=/home/zhupenghui/opencv401/GDAL/proj-7.1.0/build/bin --prefix=/home/zhupenghui/opencv401/GDAL/gdal-2.4.4/build
make
make install