MinGW64编译Gdal
1、安装 MSYS2 (Minimal SYStem 2),可以把它当作一个轻量集的linux环境,官网下载最新版,安装路径最好没有空格和中文。安装后在开始菜单有如下启动菜单,MinGW64和MinGW UCRT的区别是调用的Windows基本C库不同,可以任意选择。
2、启动MSYS2 MinGW 64-bit控制台,更新必要的环境。
pacman -Syu
3、安装GCC,默认为安装最新版,幸好GCC的ABI兼容性很好,经实测,这里安装的GCC10.x,我在QtCreator上的MinGW 8.x也能顺利调用。
pacman -Ss gcc #查找gcc所有版本 pacman -Ss mingw-w64-x86_64-gcc
4、安装GDAL。为什么要安装GDAL呢,因为它会顺带把编译新GDAL的基础库也装了,后面基本可以无压力编译更多的驱动。
pacman -Ss gdal
pacman -S mingw-w64-x86_64-gdal
5、查看所有已安装的包和版本。这里我们看到gdal的版本是3.2.2。
pacman -Qv
6、去GDAL官网下载源码,选择后缀是tar.gz的压缩包,3.2.3是最新的版本。解压到D:\Downloads\gdal323目录,编译完的GDAL SDK在gdal323_mingw目录下。
cd /d/Downloads/gdal323 #在Windows下,D盘也不需要输入D:盘符 mkdir gdal323_mingw ./configure --prefix=/d/Downloads/gdal323/gdal323_mingw #配置最后SDK包的路径 make&&make install
7、找到MSYS2中MinGW64的安装目录C:\apps\msys64\mingw64\bin,将里面的dll和一些配置文件拷贝到gdal323_mingw/bin目录备用。由于GDAL 3.x必须要proj库,将C:\apps\msys64\mingw64\share\proj目录也拷贝到gdal323_mingw/share目录备用。
8、在gdal323_mingw/lib文件夹中,有libgdal.a和libgdal.dll.a,我们在程序里只链接libgdal.dll.a库就行。