打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
解决QT静态编译和debug库问题(mingwm10.dll丢失、collect2:ld ...
userphoto

2010.04.07

关注
解决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了。。。
已经在我的机子上验证,祝大家好运!
 
 
 
PS:Debug时当然用debug了,大一点没关系。Debug完之后正式发布软件再用release编译一遍。然后还可以strip一下exe、在upx一下exe和dll,体积会非常小。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
关于在windows下部署发布QT程序的总结
Qt4及Qt5的下载、安装和使用
Qt 5.9.4 如何静态编译和部署?
vs2008静态编译Qt4.8.6
使用VC2005编译真正的静态Qt程序
Qt 4.6.2在VS2005,VS2008,MinGW环境下的静态编译
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服