首先是准备工作,去QT主页下载独立的QT类库安装包以及完整QT SDK安装包,还有QT Creator for windows 版

下载地址:http://qt.nokia.com/downloads-cn     最新是 4.7.4 版

还有一个mingw 4.4.5 静态编译版,用来解决mingwm10.dll、 libgcc_s_dw2-1.dll,两个DLL依赖的问题

下载地址是:http://code.google.com/p/qp-gcc/downloads/list

四个文件分别是:

(1) qt-creator-win-opensource-2.3.1.exe   // IDE 开发框架

(2) qt-win-opensource-4.7.4-mingw.exe          // QT类库安装包

(3) Qt_SDK_Win_offline_v1_1_3_en.exe          // QT SDK 完整安装包

(4) mingw-static-4.4.5-all.7z                         // mingw 静态编译完整版


准备好上面四个文件之后,就可以安装了,安装顺序以上面的(1)--(4)的顺序进行安装

下面说一下安装时需要注意的地方,

第一步:安装的是 qt-creator,安装的时候记得把它自带的 mingw 编译器选上(主要是为了这个 mingw 编译器)。假如默认安装到:C:\Qt\qtcreator-2.3.1

第二步:就是安装 QT 独立类库,由于它不包含编译器,因此在安装的时候有个选项,要你选择 mingw 编译器的路径,

             指向 C:\Qt\qtcreator-2.3.1\mingw 目录就可以了。假如默认安装到:C:\Qt\4.7.4

第三步:就是安装完整版的QT SDK,默认安装到:C:\QtSDK


好了,接下来就是关键的静态编译了,打开 C:\Qt\4.7.4\mkspecs\win32-g++ 目录下的 qmake.conf 文件,

修改两个地方:

QMAKE_LFLAGS     = 

修改为

QMAKE_LFLAGS          = -static -enable-stdcall-fixup -Wl,-enable-auto-import-Wl,-enable-runtime-pseudo-reloc

再将

QMAKE_LFLAGS_DLL        = -shared

修改为

QMAKE_LFLAGS_DLL        = -static

然后打开“开始菜单”-->“程序”-->“Qt by Nokia v4.7.4 (MinGW OpenSource)”菜单下面的 Qt 4.7.4 Command Prompt 也就是QT 命令行,

先配置编译选项,然后再开始编译,这是命令行提示符停留在:C:\Qt\4.7.4   路径,输入以下配置命令:

configure -platform win32-g++ -release -opensource-static -fast -qt-sql-sqlite -plugin-sql-sqlite -no-qt3support -qt-zlib -qt-gif-qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -no-webkit -qt-style-windowsxp-qt-style-windowsvista -nomake examples -nomake docs -nomake demos

等待配置完成后,进入 src 目录,并进行编译,输入如下命令:

cd src                           // 进入源码目录

mingw32-make -i -k     // 进行静态编译


等待几十分钟后就能编译成功,之后就可以进行第四步了。


第四步:把下载的 mingw 静态编译版的编译器  mingw-static-4.4.5-all.7z 解压到 C:\QtSDK\mingw 目录,为什么?

因为我们要用第三步安装的完整版的QT SDK中带的 qt-creator IDE来进行开发,而不是第一步安装的 qt-creator。

最后的设置,打开 qt-creator 之后,点击“工具”-->“选项”对话框,点击左边的“Qt4”选项,就能看到IDE自动检测到

的 qmake ,但是自动检测的 qmake 只能生成动态编译的程序,现在我们点击右上角的“添加”按钮,找到路径

C:\Qt\4.7.4\bin ,选中该路径中的 qmake.exe 文件,并命名为 “Qt 4.7.4 静态编译”,然后确定就完成了最后的设置。


现在我们来新建一个Qt Gui 应用,在目标设置的时候选择“桌面”,可以看到默认的动态MinGw编译器,以及我们自己

命名的静态MinGW编译器,如下图,记得静态编译的调试是无法生成的,因为我没有把调试也进行静态编译,只是把

发布进行静态编译了。虽然安装占用的空间比较大,但是省却了要调试的时候去修改Makefile.Debug文件的麻烦。


Qt 4.7.4 完美动态编译发布动态调试,以及静态编译发布相关推荐

  1. qt5.5 静态编译 mysql_QT5.3.2+mingw静态编译(生成exe大约14M)

    在网上找了很久的QT静态编译方法,基本参考:http://www.baidu.com/link?url=3JiyMFpMziH5Qdw73NVnTg1wPb6JT9LywvOzCE6FAOE-LrtE ...

  2. 易语言MySQL静态编译,我说易语言静态编译太强大……

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 编译后的文件在virscan有14款软件误报 静态编译后我和我的小伙伴惊呆了-- NOD32你别逗我,玷污了这2%,求大神NOD32的报毒信息是怎么回事 ...

  3. 记录下 QT Linux 静态编译遇到的坑

    记录下 QT Linux 静态编译遇到的坑 记录下 QT Linux 静态编译遇到的坑 - 貘吃馍的日志 - 网易博客 http://qbaok.blog.163.com/blog/static/10 ...

  4. Qt最新版5.14在Windows环境静态编译安装和部署的完整过程 VS 2019-Qt static link build Windows 32 bit/64 bit

    文章目录 为什么要静态编译(static link) 1.源码下载/source code download 2. 编译工具下载/compiler download 编译环境选择:MinGW/MSVC ...

  5. apache 静态编译和动态编译参考

    apache-2.2.22 编译安装笔记 一.静态编译     在使用./configure 编译的时候,即没有使用--enable-mods-shared=[module]或者--enable-[m ...

  6. Qt5.8 在windows下mingw静态编译

    官方对编译一些条件介绍:https://doc.qt.io/qt-5/windows-requirements.html 在默认情况下,用QtCreator编译程序时,使用的是动态编译.编译好的程序在 ...

  7. Linux下静态编译的一个TIP

    Linux下静态编译的一个TIP | 素包子 Linux下静态编译的一个TIP 2010年3月28日 baoz 阅读评论 linux下静态编译好处很多,一来是可以跨发行版(debian redhat ...

  8. 通过实战探究 GraalVM 静态编译

    通过实战探究 GraalVM 静态编译 GraalVM 是什么 什么是 Java 静态编译 GraalVM 静态编译优点 GraalVM 静态编译缺点 Substrate VM 是什么 native ...

  9. DeepinUOS Linux QT5.12.10静态编译DTK教程

    首先我们要去DTK开发者文档参观下,具体参观什么,你需要什么就参观什么 地址:https://docs.deepin.org 编译DTK需要编译以下三个东西: dtkcore dtkgui dtkwi ...

最新文章

  1. strcpy,memcpy和memmove区别
  2. AI寒冬将至?这10大突破点至关重要
  3. python有关迭代器和生成器的面试题_【面试题 | Python中迭代器和生成器的区别?】- 环球网校...
  4. ODAC(V9.5.15) 学习笔记(十七)主从模式
  5. 微软 python教程_最强福利——来自微软的Python学习教程(开发指南)
  6. u盾 签名pdf显示 “签名于修订版中删除”_Adobe Acrobat Reader DC for mac(免费pdf阅读)...
  7. 安装appcan后打开eclipse出错
  8. 弹性地基梁板实用计算_3款实用性高的农村别墅,造价低,越看越有韵味
  9. docker安装nginx并且部署前端项目
  10. 数值分析——Hermite插值
  11. Java利用poi-tl实现富文本HTML转Word
  12. 机器人编程按时巡线_一种智能巡线机器人以及控制方法与流程
  13. Spark实践的阶段性总结
  14. 【Unity】跨场景音乐资源不间断播放(可控音量)
  15. [clear] python 种子转磁力链
  16. 基于微信小程序的核酸检测系统源码
  17. python中clear和clear()
  18. Could not find multidex.jar (com.android.support:multidex:1.0.2).
  19. mongodb 10、mongodb从节点失联解决方法
  20. 今天15:00| ICML专场四,7位PhD来袭!

热门文章

  1. python import from class_Python: import vs from (module) import function(class) 的理解
  2. 数据结构之单链表(golang版)
  3. DVWA 黑客攻防实战(十五) 绕过内容安全策略 Content Security Policy (CSP) Bypass
  4. Codeforces 785 D.Anton and School - 2(组合数处理)
  5. 02.规划过程组表格-需求管理计划
  6. 深入浅出 Java Concurrency (33): 线程池 part 6 线程池的实现及原理 (1)[转]
  7. Android BOOTCLASSPATH详解
  8. OTA和Recovery系统升级流程介绍
  9. WINCE下如何设置/删除/查询这些环境变量
  10. ug11许可证文件路径安装在哪_Matlab2012a安装教程