当前位置:首页 » 编程软件 » mingw静态编译qt

mingw静态编译qt

发布时间: 2025-04-01 01:37:14

‘壹’ Qt-Installer-Framework使用(一)

Qt-Installer-Framework的使用介绍与实践


Qt-Installer-Framework (QIFW),作为Qt官方推荐的打包工具,以其强大的功能满足了日常开发中的大部分需求。本文针对Windows 7 64位系统,采用Qt 5.7.1版本和MinGW 5.3环境,以及QIFW 3.0.6版本进行了测试和验证,后续将进一步扩展支持平台。


QIFW得益于Qt的跨平台特性,支持包括但不限于这些平台:(略)。它的使用方法多样,主要有两种途径。


源码编译

首先,从Qt官网下载对应版本的源码,注意选择与当前Qt版本兼容的,否则可能导致编译失败。我选择的是3.0.6版本,此版本要求Qt 5.6以上。


我使用静态编译,虽然动态编译过程中遇到了符号链接错误和库文件连接失败的问题,目前我正在深入研究。编译脚本如下:


(脚本内容)

执行脚本后,大约10分钟内完成编译,生成的可执行文件位于工程目录bin下。


直接使用官方编译好的exe编译打包

将Example目录下的示例复制到bin目录,接着编写一个脚本,命令如下:


(脚本命令)

成功执行后,打包后的exe软件会出现在当前路径下。


关于详细的配置和个性化定制,将在后续文章中深入探讨。

‘贰’ Qt Creator怎么静态编译C++程序

如果你说的是Qt程序的话,静态编译就得自行从源码开始编译Qt静态库,官网预编译的版本是不包含静态库的。这个很复杂,请参考qt-everywhere-opensource 中提供的编译帮助。注意如果使用miongw的话,gcc版本最好不要是4.6.2。这个版本比较特殊,但是它是mingw官方版的最新打包版本。
如果你说的是非qt库依赖的话,有两种mingw和vs,前者有部分发行版默认去除了dll依赖,直接连接的静态库,后者非常不推荐使用静态库,毕竟它加载的是系统常用dll,基本上所有系统都是推荐安装的运行时环境,用静态库吃力不讨好。

‘叁’ Qt+GDAL开发笔记(一):在windows系统mingw32编译GDAL库、搭建开发环境和基础Demo

前言

在麒麟系统上进行全球北斗定位终端开发时,调试工具制作一个Windows版本以便校对,北斗GPS发送的是大地坐标,应用需要的是经纬度坐标。转换过程中,我们选择了GDAL库进行转换,避免使用公式计算的繁琐与可能的误差。

注意

不建议使用mingw32版本的GDAL库进行编译,过程异常曲折。

大地坐标简介

大地坐标(Geodetic coordinate)在大地测量中以参考椭球面为基准面,地面点P的位置由大地经度L、大地纬度B和大地高H确定。

原理

大地经度是参考椭球面上点与起始大地子午面(通过格林尼治天文台的子午面)之间的夹角,向东为东经,向西为西经。大地纬度是法线与赤道面的夹角,由赤道面起算,向北为北纬,向南为南纬。大地高是地面点到参考椭球面的距离。

北京54坐标系(BJZ54)

北京54坐标系基于克拉索夫斯基椭球,是通过局部平差后产生的坐标系,由经度L54、纬度M54和大地高H54表示。

世界大地坐标系统(WGS-84)

WGS-84坐标系是世界大地坐标系统,使用WGS-84椭球体,原点设在地球中心,X轴指向格林尼治参考子午线与赤道面的交点,Z轴指向地极方向,Y轴与X、Z轴构成右手坐标系。

国家大地坐标系(CGCS2000)

CGCS2000是当前最新的国家大地坐标系,原点设在包括海洋和大气的整个地球的质量中心,X轴指向格林尼治参考子午线与赤道面的交点,Z轴指向地极方向。

GDAL库介绍

GDAL(Geospatial Data Abstraction Library)是一个开源栅格空间数据转换库,支持各种文件格式,提供命令行工具进行数据转换和处理。OGR是GDAL的一个分支,支持矢量数据。

功能与特征

OGR体系结构

GDAL下载地址

GDAL的下载地址为:gdal.org/download.html,选择3.2.1版本。

准备MSYS2环境

在MSYS2中配置编译环境,可能遇到系统枚举未知问题,尝试使用msys2或msys642解决,确保成功编译。

使用Qt5.9.3 mingw32进行编译

将Qt5.9.3 mingw32编译器复制到MSYS2根目录,确保引入成功。

路径配置与编译GDAL

配置路径、编译GDAL,包括下载、解压、配置、编译和安装步骤,遇到问题时使用强制方法解决问题。

编译PROJ6

类似步骤进行下载、解压、配置、编译和安装PROJ6,解决可能遇到的问题。

编译SQLITE3

下载、解压、配置、编译和安装SQLITE3,解决配置错误,确保库正确编译。

编译pkgconfig(废弃步骤)

尝试编译pkgconfig,但由于废弃不再使用,此步骤仅保留。

结尾

经过一系列尝试与优化,成功编译并安装GDAL、PROJ6和SQLITE3库。建议读者避免使用mingw32版本的GDAL库,以简化编译过程。

‘肆’ Qt Creator 怎样设置才能实现静态编译

Qt默认的编译方式是动态编译的,但是有时候你编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译你的程序,Qt要实现静态编译必须库文件也是静态编译的,可以用这个命令编译静态库:

1.将C:\Qt\2010.05\qt\mkspecs\win32-g++文件中的QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc

改为

QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-

auto-import -Wl,-enable-runtime-pseudo-reloc

2.在开始菜单里找到Qt Command Prompt并运行,输入命令: configure -static -debug-and-release -no-exceptions -L "C:\Qt\2010.05\qt\include" -L "C:\Qt\2010.05\qt\lib"

-L指定一下路径,防止用到vc的头文件

选择开源:O;选择license:y;

3.上一条命令运行成功后再输入命令: mingw32-make sub-src

等1 ~3 小时可能就运行完了 完成后就ok了。。。

热点内容
2021大众polo炫彩有什么配置 发布:2025-04-02 14:53:52 浏览:856
php数组长度排序 发布:2025-04-02 14:48:45 浏览:464
朗逸换压缩机 发布:2025-04-02 14:42:25 浏览:414
片源网源码 发布:2025-04-02 14:40:36 浏览:662
pythonlist查找元素 发布:2025-04-02 14:31:08 浏览:151
java汉诺塔递归算法 发布:2025-04-02 06:28:40 浏览:127
可执行文件是编译链接后生成的文 发布:2025-04-02 04:36:44 浏览:175
电脑文件加密软件免费 发布:2025-04-02 03:02:51 浏览:809
php图片管理 发布:2025-04-02 03:01:11 浏览:268
然后弄编程 发布:2025-04-02 02:54:06 浏览:115