QT MinGW 编译和使用GDAL

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

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值