QT 静态编译和 Debug 库问题 成功解决

移动开发
本文介绍的是QT 静态编译和 Debug 库问题解决,有关更多的内容,请关注文章末尾,先来看内容

QT 静态编译Debug 库问题解决是本文将要介绍的问题,解决QT静态编译debug库问题(mingwm10.dll丢失、collect2:ld returned 1 exit status)通过网上到处找资料,终于搞定了遇到的问题,相信其它人也会遇到,我就把解决方法非写出来了:

平台:windows7

软件:qt4.6+qt creator 1.3

使用的安装包是  qt-sdk-win-opensource-2009.05.exe

问题描述:

(1)使用qt creator 生成工程,写好程序进行编译运行,在qt creator点击运行,程序能跑起来,没问题,可是我在工程目录下找到编译生成的程序双击运行时,提示缺少mingwm10.dll,无法运行。

(2) 按照 http://wiki.qtcentre.org/index.php?title=Building_static_Qt_on_Windows#MinGW 这个方法完成操作以后,使用qt creator 不能用debug,只能使用release选项,使用debug选项产生的错误提示是:collect2:ld returned 1 exit status    通过查找资料发现是缺少debug库

解决方案:

(1)编辑 C:\Qt\2009.05\qt\mkspecs\win32-g++\qmake.conf 文件 把 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

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

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

已经在我的机子上验证,祝大家好运!Debug时当然用debug了,大一点没关系。Debug完之后正式发布软件再用release编译一遍。然后还可以strip一下exe、在upx一下exe和dll,体积会非常小。

小结:关于 QT 静态编译Debug 库问题解决的内容介绍完了,希望本文对你有所帮助。

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-06-23 09:54:00

VS2010 Qt 4.7.2 Qt

2011-06-21 16:51:21

Qt 静态 编译

2011-08-29 09:33:24

WindowsQt库静态

2011-06-09 11:11:35

QT 静态库 动态库

2011-07-05 10:44:51

Qt Sqlite 静态编译

2011-06-29 11:06:12

Qt Qvfb

2011-06-21 16:40:58

Qt 静态编译

2011-06-21 17:01:44

Qt 静态 编译

2009-02-26 16:28:43

静态编译动态编译Java

2011-06-29 09:33:18

Qt 编译

2010-06-01 14:51:45

MySQL驱动

2011-09-06 16:00:08

QT平台静态库

2011-06-21 16:13:51

Qt Oracle 驱动

2009-07-10 17:16:39

MyEclipse不编

2011-06-29 18:02:58

Qt 中文 翻译

2011-06-13 16:16:32

Qt 中文问题

2016-09-19 10:54:36

C语言静态连接语言

2011-06-23 10:16:55

VS2010 QT 4.7.2 QT

2011-07-05 14:16:50

QT Mysql 驱动

2011-07-22 16:22:27

iPhone Lipo 模拟器
点赞
收藏

51CTO技术栈公众号