windows使用MINGW编译qt-4.8.7

参考自https://blog.youkuaiyun.com/libaineu2004/article/details/24620709,原文有错误,有修改

1.安装MINGW

假设路径安装在 C:\Qt\mingw32。将 C:\Qt\mingw32\bin 添加进环境变量 path,打开cmd或powershell输入 gcc --version 和 g++ --version 和 mingw32-make --version 验证编译器安装成功。MINGW可在官网下载。

2.修改环境变量,

(1) 检查系统变量 path,删除有关 mingw 其他版本等信息,以免与后续的 mingw32-make 冲突。

(2) 检查用户变量 INCLUDE、LIB、PATH、MSDevDir 和 MSVCDir,删除有关 \Microsoft Visual Studio\VC98 的信息,因为它们会与后续的 mingw32-make 冲突,导致编译出错。
3.解压 qt-everywhere-opensource-src-4.8.7.zip 并进入目录。例如:D:\qt-everywhere-opensource-src-4.8.7\

4.依次执行以下命令

(1)
.\configure -debug-and-release -opensource -prefix "D:\Qt4.8.7" -platform win32-g++ -nomake demos -nomake examples -no-webkit

常见的使用选项说明:
-debug-and-release    编译 debug 和 release 版
-opensource      选择开源协议并确认
-platform win32-g++   使用 mingw 编译
-prefix "D:\Qt4.8.6" 指定编译结果目录,如果未指定则默认当前
-shared 创建和使用共享 Qt 库
-static 创建和使用静态 Qt 库
-nomake demos -nomake examples 不编译例程
-nomake tests 不编译 tests
-no-webkit 忽略 webkit,因为编译它特别消耗时间
-mp 使用多核优化编译
详细帮助信息使用 .\configure -help查看

(2)
mingw32-make -j4 //-jX X表示多线程编译,CPU有几个逻辑内核,就可以指定几个线程编译

(3)
mingw32-make install  //安装第一步中指定的路径

 

5.编译完成后,把 C:\Qt\mingw32\bin\ 路径下的三个文件 libgcc_s_dw2-1.dll、libstdc++-6.dll 和 libwinpthread-1.dll 拷贝到 D:\Qt4.8.7\bin\。另外,也请把步骤 1 备份的环境变量还原。

6.修改 Qt 安装路径

最初编译时选择的路径是 D:\Qt4.8.7\。如果想将它复制到其他盘符,并且改名,例如: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 = ..",如此一来,任意路径有效。

7.参考文献

Qt 在各平台上的搭建 qt-everywhere

http://my.oschina.net/crucian/blog/223107

用 mingw 静态编译 Qt4.8.2 和 Qt5.1.1

http://blog.youkuaiyun.com/markl22222/article/details/20734085

QT 编译./configure 参数的详细解释

http://www.cppblog.com/lauer3912/articles/136423.html

QT5.1 编译后的安装目录问题

http://www.qtcn.org/bbs/read-htm-tid-54625-fpage-6.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值