MinGW编译GDAL(转载:https://blog.youkuaiyun.com/qq_32629895/article/details/106147965)
如果不想编译可以查看我的这篇博客下载编译好的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:
查看这篇博客 可以解决
编译生成动态库 静态库问题(https://blog.youkuaiyun.com/weixin_34210740/article/details/86019361)
版权声明:本文为优快云博主「晨曦熏暧」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq_32629895/article/details/106147965
qt5-mingw 使用gdal
QT(MinGW)中配置GDAL
附上我mingw编译GDAL的过程:
mingw编译GDAL
本文将介绍一种不需要通过导入外部库的方式,在.pro文件中配置GDAL,非常简便,基本不会出错。
我使用的是msys2+mingw32 编译的GDAL库
1、配置环境变量
2、配置.pro文件
(1)配置系统变量
选择新建一个系统变量,例如我使用的GDAL_MINGW_32,变量值:写你自己GDAL所在的路径
(2)配置环境变量
选择path ,选择新建一个变量,填写GDAL的bin文件夹所在的路径。例如我的:G:\GDAL1115\bin
(3)重启系统使环境变量生效
这个非常重要,记得配置完之后,一定要重启,否则不会生效的。
(4) 重启后 配置QT .pro文件
导入头文件和动态链接库,
这里解释下 加上-l 后 libgdal.a 前面lib和后缀可以省写
这种写法
(5) 配到这里,就可以直接在QT 中 写GDAL代码了
先别着急 还有一部需要完成
解释下 用了我编译好的gdal库,出现程序异常的原因:
如果你下载了我编译好之后的mingw-gdal库,并且按上面步骤 都配置好之后,打开QT编写gdal代码,运行项目出现 程序异常结束 现象。 你一定很生气,这个博主编译的gdal库根本就用不了,就是来骗积分的,错….因为你下载的gdal库由于缺少了所依赖的dll文件 ,所以会出现程序异常结束现象。 我在csdn下载了其它博主用mingw编译的gdal库,也是使用不了,刚开始我也以为是gdal库有问题,在经过自己的实践,发现是博主在上传编译好之后的gdal库,没有把其所以赖的dll 文件一起打包所造成的。
我是用msys2+QT 编译的gdal,由于编译GDAL用到了msys2的库,所以编译成功之后的gdal 必须 要配合msys2 使用。
如何解决呢?
步骤1: 首先要保证你的QT环境变量已经配置好了 (ps:QT(MinGW)中配置GDAL 上面步骤也已经完成)
例如:
————————————————
版权声明:本文为优快云博主「晨曦熏暧」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq_32629895/article/details/105738977