MinGW编译GDAL
对于网上到处都是的MSVC编译gdal方式,给出MinGW编译GDAL的过程,可以按照以下步骤自己编译。
如果不想编译可以查看我的这篇博客下载编译好的GDAL1.11.5
QT GDAL配置以及下载
1. 软件安装
从头说起 先说说必要的软件环境
1.1 在编译GDAL(mingw)之前你需要安装QT 以及 msys2(它是包含mingw32 和mingw 64的)
1.1.1 QT安装按正常步骤在安装界面选填mingw部分即可
安装完之后 必须把QT的mingw 配置到path环境变量
1.1.2 msys2安装
(1)步骤1:下载安装msys2 msys2 下载地址
(2)步骤2:使用国内的源
(3) 更新msys2的库
(4) 查看可用的gcc安装包 并安装。以下内容有选择安装(由于我GDAL32 位和64位都需要编译,所以我把msys2的mingw32 和 mingw64都安装了),这是我先前都安装过了,就不在操作了。
例如命令行使用 :pacman -S mingw-w64-x86_64-gcc
进行一个一个安装吧
(5) 安装mingw 64 并查看 GCC安装情况
(6) 配置Msys2 环境变量
将Msys2安装路径下的mingw64 文件夹的bin目录添加到系统变量path中
(7) 重启 查看 gcc
2. 以mingw编译GDAL1.11.5为例子
(这一步可略过 因为这些path环境变量在前面已经配置过了 但是我要解释下)
在安装完所有软件之后,需要添加环境变量:在path下添加以下变量 (如果你想编译MINGW64位的GDAL) 就直接添加蓝线标出的部分,PS:编译GDAL不同位数只能填写 红 or 蓝其中一项 ,例如编译mingw32GDAL 只填写32位变量,如果都填写 会出现编译冲突,编译GDAL不成功现象,。。。这是我后来测试QT项目 两个都写上了 哭
(1)下载GDALGDAL1.11.5,解压
(2)打开msys2 mingw64 shell
(3)进入gdal解压目录
(4)./configure -prefix=/g/GDAL1115(该参数指定第6步中的安装路径),这个 " ."是要有的,嘿嘿,后面的 -prefix…什么我没加
(5)make
如果在链接时出现找不到“/g/gdal-1.11.5/frmts/o/.libs/EnvisatFile.o”的错误,打开GNUmakefile文件修 改 6-12 行,用 . (英文句点)替换这几行中的“$(GDAL_ROOT)”,再执行make。也可以在执行make之前先对GNUmakefile文件进行上述修改后,再 执行make。这里的错误,我没遇到,没有修改gunMakefile,可能是新版本号的
(6)make install
完成安装之后可以在 安装文件目录下查看到
红线部分这个证明你编译成功了,没有缺失文件。
ps:编译过程中可能遇到的error展示,如果软件 和环境 都配置好 不会出现错误的
错误1:
错误2:
错误3:
查看这篇博客 可以解决
编译生成动态库 静态库问题