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

qt静态编译mingw

发布时间: 2023-07-11 14:13:48

⑴ 如何静态编译发布Qt应用程序

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

⑵ QT中怎么静态编译,静态编译的步骤是什么。

Qt采用编译的方式安装的时候,配置中默认的编译方式是动态编译的,但是有时候你编写的程序要发布出去,带很多动态库文件是很繁琐的,此时就需要静态编译你的程序,Qt要实现静态编译必须库文件也是静态编译的,所以在此介绍一下qt如何来进行静态编译第一步:下载源码包Qt/X11版本:qt-x11-opensource-src-4.5.2.tar.gz第二步:解压缩tarzxvfqt-x11-opensource-src-4.5.2.tar.gz第三步:进入到刚才解压缩后的文件夹下并进行配置,如下./configure-release-platformwin32-msvc2008-static-nomakeexamples-nomakedemos-no-qt3support-no-scrip
...
by
fengyetang
2010-07-04
回复
(0)

⑶ QT用VS还是MINGW编译好,有什么区别

MinGW 兼容性更好,调试也更方便。
VS生成的 exe 发布时依赖的 dll 少一些,其他都不如 mingw。

⑷ 编译Qt 4.7.3在GCC 4.6 MinGW问题,怎么解决

认真核操作步骤:
1、修改环境变量工具推荐:Rapid Environment Editor
修改前请先备份前环境变量:
(1)检查系统变量path删除关mingw其版本等信息免与续mingw32-make冲突
(2)检查用户变量INCLUDE、LIB、PATH、MSDevDirMSVCDir删除关\Microsoft Visual Studio\VC98信息与续mingw32-make冲突导致编译错
2、????电脑安装mingw编译器假设路径安装C:\Qt\mingw32C:\Qt\mingw32\bin添加进环境变量path打DOS命令行输入gcc --versiong++ --versionmingw32-make --version验证编译器安装功我用MinGW版本V4.8.2
3、解压qt-everywhere-opensource-src-4.8.6.zip并进入目录例:D:\qt-everywhere-opensource-src-4.8.6\
4、依执行DOS命令:
(1)configure -debug-and-release -opensource -prefix "D:\Qt4.8.6" -platform win32-g++ -nomake demos -nomake examples
见使用选项说明:
-debug-and-release 编译debugrelease版
-opensource 选择源协议并确认
-platform win32-g++ 使用mingw编译
-prefix "D:\Qt4.8.6" 指定编译结目录,未指定则默认前
-shared 创建使用共享Qt库
-static 创建使用静态Qt库
-nomake demos -nomake examples 编译例程
-nomake tests 编译tests

-skip qtwebkit 忽略qtwebkit编译特别消耗间

-mp 使用核优化编译

(2)mingw32-make
(3)mingw32-make install
5、编译完C:\Qt\mingw32\bin\路径三文件libgcc_s_dw2-1.dll、libstdc++-6.dlllibwinpthread-1.dll拷贝D:\qt-everywhere-opensource-src-4.8.6\bin\另外请步骤1备份环境变量原
6、修改Qt安装路径
初编译选择路径D:\Qt4.8.6\想复制其盘符并且改名例:C:\Qt\4.8.6_MinGW问题问题Qt绝路径依赖症改名C:\Qt\4.8.6_MinGW\bin\exe执行程序都问题要程序打要语言发异用记事本打C:\Qt\4.8.6_MinGW\bin\qmake.exe查找关键字qt_prfxpath看面含原始安装路径我手修改qmake.exe真效解决:
C:\Qt\4.8.6_MinGW\bin\路径创建qt.conf文件内容
[paths]
Prefix = C:/Qt/4.8.6_MinGW

请注意:qt.conf文件必须ANSI格式并且Prefix斜杠风格采取Linux非Windows否则失效或者使用"Prefix = .. "任意路径效

⑸ qt编译问题

QT默认安装后 在options 下有 QT4 选项 有QT versions 需要设置下QT的目录
QT的编译采用MinGW的编译器(开源版)MinGW是GCC的Win移植版.

Could not find make command: mingw32-make.exe in the build environment 意思是找不到MinGW的make工具,请将MinGW的bin目录加入系统的path变量中,在options中有调试器(debug)中选择mingw调试器gdb的位置
(位于MinGw bin目录下)

⑹ Qt creator中的 minGW是什么

楼上说的差不多,其实GCC是编译器,MinGW实际上是GCC和binutils等移植到Windows的结果。
GCC是编译器,但是需要类似posix的平台,而其ABI早期支持的Linux\unix,MingW改造了其中代码,使gcc能够支持Windows。MinGW本身也存在多个分支,可以在Windows、Linux中编译能在Windows中执行的二进制代码。
MingW和CygWin不同,MingW能够编译gcc的程序,但是不能编译那些依赖POSIX模型的程序,例如需要fork等函数的程序。CYGWin整个构造了一个类似POSIX的环境。
简单的说,MingW是GCC编译器的一个分支,能够编译生成windows下可执行的程序。为了达到这个目标,通常的MinGW软件包,包含了类似binutil、gdb等一系列工具的集合。

PS.
gcc\gdb\binutils等属于“工具”软件,合称“工具链”toolchain

⑺ 群内有人用mingw编译的静态编译库成功编译过qt+mysql的程序吗

mingw编译出来的静态库后缀名为.a,编译出来的动态库的导入库后缀名为.dll.a,而在windows下后缀名为.lib的库可能是静态库也可能是动态库的导入库。

mingw编译出来的动态库的导入库可以直接在vc中直接使用,例如

#pragma comment(lib, "libx264.dll.a")

这样你就不需要生成一个.lib后缀的动态库的导入库了,网上也有如何从.dll生成.lib的方法。

如果链接了动态库的导入库libpthread.dll.a,你发布的应用程序就要带上pthread的dll。
使用静态库的好处是发布的应用程序组件模块里不需要带上相关的dll,如果要使用mingw编译出来的静态库,可以如下:

#pragma comment(lib, "libx264.a")

但是仅仅链接这么一个静态库是不够的,你还需要链接

libgcc.a

libmingwex.a

你可能还需要链接libmsvcrt.a

否则会报一堆错误:error LNK2001: 无法解析的外部符号

上面的这些库在C:\MinGW\lib目录或子目录下面可以找到。

链接这些库的原因是mingw使用的gcc编译器和vc编译器之间存在差异

⑻ QT用VS还是MINGW编译好,有什么区别

都可以。
有时候会用到windows底下一些头文件,这时候可以用VS编译,如果用mingw编译的话有时候会找不到这些头文件。一般情况下用mingw就可以。

⑼ qt5.8 for mingw编译静态版本时怎么加mysql

注意编译器一定要和MYSQL的平台版本一致,32位的用32位的编译器编译,64位的用64位的编译器编译。
准备工作:MYSQL的目录:D:\SQL_Server\mariadb
Qt5.1.1的目录:C:\Qt
1. 先将D:\SQL_Server\mariadb中的include\和lib\文件夹复制到根目录(C:),因为后面make时路径不能有空格。

2. 打开QT5.1.1 for Desktop(MinGW 4.8)
cd C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=D:\SQL_Server\mariadb\include" "LIBS+=D:\SQL_Server\mariadb\lib\libmysql.lib" mysql.pro
mingw32-make
如果出现找不到mysql.h文件就用qtcreator打开mysql.pro文件,配置项目,然后编译,就会出现错误提示,把#include 改成#include ,编译就行了,或回到命令行再次执行mingw32-make即可.

3. 编译成功后。
进入到C:\Qt\Qt5.1.1\5.1.1\Src\qtbase\plugins\sqldrivers目录下,选中qsqlmysql.dll和 qsqlmysqld.dll两个文件,

复制到C:\Qt\Qt5.1.1\5.1.1\mingw48_32\plugins\sqldrivers目录下。

热点内容
数据库有表 发布:2025-02-07 07:50:49 浏览:28
基于nginx搭建图片服务器原理 发布:2025-02-07 07:44:18 浏览:448
java等待 发布:2025-02-07 07:28:24 浏览:612
vs编译器会自己加空格吗 发布:2025-02-07 07:23:05 浏览:174
光遇切换账号安卓要输入些什么 发布:2025-02-07 07:10:20 浏览:501
多角线算法 发布:2025-02-07 07:08:56 浏览:273
有效提高ftp传输速度 发布:2025-02-07 07:06:47 浏览:703
寒灵之剑脚本 发布:2025-02-07 06:57:12 浏览:119
解压的窗口 发布:2025-02-07 06:44:34 浏览:798
android身份证 发布:2025-02-07 06:36:43 浏览:431