• 15988阅读
  • 12回复

[原创]Qt 4.8.4 & Qt Creator 2.6 MinGW x86 自编译精简版 [复制链接]

上一主题 下一主题
离线lejcey
 

只看楼主 倒序阅读 楼主  发表于: 2012-12-25
— 本帖被 XChinux 执行加亮操作(2013-04-26) —
  重要!请全部看完之后自己判断是否应该下载使用。

  此次已精简到 330M,压缩后 170M,节省了上传和下载的时间。使用此版本请自行添加 PATH,并安装 MinGW 4.7 以上的版本,上一次发布 Qt 4.8.2 & Qt Creator 2.5 msvc 自编译精简版之后忘记迅雷快传的过期问题了,自己又没有留,实在抱歉,这次上传到百度网盘,我会关注可能的过期问题。

  此次编译的 Qt 库进行了进一步的优化和精简,由于 GCC 会将所有的调试信息编译进二进制代码中,导致 Debug 版的 dll 文件体积太过于恐怖,甚至一个 dll 就好几百兆,致使 GDB 调试缓慢,再由于 GCC 编译 Qt 非常慢,为了节省编译时间等诸多原因,这一版彻底去掉了 Debug 库,这样一来,如果你使用这个版本,那么意味着你只能调试你自己的程序,并且在调试时,Step into 等功能将无法进入到库中去,就算进去了也是汇编。但换来的好处也是显而易见的,调试的速度大幅提升,QT 库的容量大幅减小,况且对于一般使用而言,我们根本不需要调试 Qt 库本身,除非你能肯定你遇到了 Qt 的 Bug。

  关于 Qt5,无论是 32 位还是 64 位目前还很难编译通过,官方 wiki 的编译文档也提示需要很多 patch,等稳定一段时间吧,估计至少得稳定个一年半载的,并且新版 Qt 5 的编译机制也进行了大幅修改,精简版的研究也是需要时间的,但一切的前提首先是能编译通过。

  关于 64 位,对于在 Windows 平台上的 64 位,目前看来简直就是个噩梦,非常难搞,很多附加依赖的库不是无法编译就是需要手工进行大量修改,即使能编译,出来的代码也会出现一些匪夷所思问题,什么 QString 的一个转换函数在 64 位居然有时会指针问题,QtGui 中的 itemlist 崩溃等等,有时候真搞不清楚到底是编译器有问题还是代码有问题。唉,暂时先别想 64 位了,微软暂时不抛弃 32 位兼容模式,看来也是有很多道理的,想搞 64 的还是去 Mac 和 Linux 吧,那个稳定得太多,小弟也在考虑是否该买台 Mac mini 玩玩了。

  有朋友问道如何自己编译 Qt,其实很简单,无非就是先搞定外围库,然后 configure、make,这方面的文章网上一搜一大箩筐,这里就不赘述了,把这个过程叙述一遍还挺麻烦的。如果你想自己编译,那么可以去 Google 搜索 build qt [mingw][x64],所搜出来的文章前几篇就可以给你非常有用的指导。

包含内容:

  1. QtSDK 4.8.4;
  2. Qt Creator 2.6;
  3. OpenSSL 1.0.1c;OpenSSL 只是编译 Qt 库时所需,如果你用不到,可以删掉。

编译器 & 调试器:


  理论上应当使用 sjlj 异常模型与 posix 线程模型的 GCC 4.7.x 版。但为保证二进制兼容性,建议使用这里的 MinGW(http://sourceforge.net/projects/mingwbuilds/files/host-windows/releases/4.7.2/32-bit/threads-posix/sjlj/x32-4.7.2-release-posix-sjlj-rev3.7z),此次编译就是用的它。当然我试过 TDM-GCC 也没发现什么问题。

精简内容:

  1. Debug 版本的库已被去除。
  2. Qt 及 Qt Creator 源代码 src 目录全部内容;
  3. 工具源代码 tools 目录全部内容;
  4. SDK 文档只保留 qch 格式,HTML 部分以及源代码全部删除;
  5. 与 Windows 平台无关且无用的内容;
  6. 所有编译过程中所产生的临时文件,如 tmp、debug、pdb、makefile 等;
  7. lib 目录下的 dll 文件(无用,bin 目录有一套足以);
  8. 所有的范例及 demo 打包成 zip 文件,按需索取,如果要运行 qtdemo.exe,也必须解压。

注意:
  1. 此版本没有任何安装文件,直接解压,然后自己在环境变量中添加 Qt 目录;
  2. 此版本没有任何源文件,所以你不能再重新编译了;
  3. 同上,你也不能再添加 SQL 插件了,需要自己编译 MySQL 等插件的请使用完整版。
  4. 此版本修改了 Qt 的编译机制,使其 Debug 版的应用程序也会强制链接到 Release 库,因此有什么问题请大家告知小弟,以便修正。
  5. 次版本的 QtCreator 中文翻译有一个很大的 BUG,有些地方汉化过度,因此请老实用英文版。

  因时间、精力和能力等诸多方面的问题,只能进行小幅度的测试,在测试时,未发现其他问题。如果你遇到任何问题,请直接回帖或者发邮件到 lejcey@163.com。如果是精简过程中出现了问题,小弟会尽快修复,如果是 Qt 本身的问题,还请反馈 Bug 给官方。











下载地址:
http://pan.baidu.com/share/link?shareid=213220&uk=1476695559&third=0
离线roywillow

只看该作者 1楼 发表于: 2012-12-25
我编译w64版还挺顺利的,基本的使用也没遇到问题
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线transformer

只看该作者 2楼 发表于: 2012-12-25
我当初用TDM-GCC 编译,结果发现assistant总是崩溃,后来还是用官方4.6.3,速度慢我忍了,稳当点吧
离线zxh3344

只看该作者 3楼 发表于: 2013-01-08
谢谢,需要这个啦,下来试试
离线bkey

只看该作者 4楼 发表于: 2013-01-21
让大家省力气
离线闪极
只看该作者 5楼 发表于: 2013-01-29
为什么我在ide里设置qmake出现版本错误啊,在版本设置那里,还有,可以用打汉化补丁的方式汉化吗
闪极就是不一样
离线vogel

只看该作者 6楼 发表于: 2013-02-02
用不了

离线realfan

只看该作者 7楼 发表于: 2013-02-02
回 6楼(vogel) 的帖子
我也用不了。选了qmake.exe,没反应。
离线realfan

只看该作者 8楼 发表于: 2013-02-25
在qt-skd/bin目录下,加个qt.conf文件,终于可以用了
离线hzzyxxx
只看该作者 9楼 发表于: 2013-03-14
楼主大神求助!
我的qt编译通过却无法运行。
Windows 8  上 MinGW (GCC 4.7.2)
先装了 Qt 4.84 Library, 修改了系统环境变量
然后 装 Qt creator 2.6 ,按官网上的加了 Kit 等

现在能编译却无法运行。
离线canglingye
只看该作者 10楼 发表于: 2013-08-01
回 8楼(realfan) 的帖子
在那里添加的qt.conf?这个文件的内容是什么?没找到啊
离线realfan

只看该作者 11楼 发表于: 2013-08-02
回 10楼(canglingye) 的帖子
qt.conf qt.zip (1 K) 下载次数:14
把qt.conf用文本编辑器打开,将Prefix 指向的路径改成你的路径。
再把qt.conf放到qmake.exe同一目录下。
离线stlcours

只看该作者 12楼 发表于: 2014-09-29
下载被取消了。楼主,或者realfan兄能不能再上传一下?貌似很感兴趣的说~
快速回复
限100 字节
 
上一个 下一个