解决QT静态编译和debug库问题(mingwm10.dll丢失、collect2:ld ...
来源:百度文库 编辑:神马文学网 时间:2024/10/02 16:34:24
解决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,体积会非常小。
平台: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,体积会非常小。
解决QT静态编译和debug库问题(mingwm10.dll丢失、collect2:ld ...
编译链接和动静态库
编译qt及qvfb遇到的问题
编译QT的MySQL驱动问题与其实际解决方案 - 产品和技术 - 赛迪网
静态链接库LIB和动态链接库DLL的区别 创建和示例
静态链接库LIB和动态链接库DLL的区别 创建和示例
linux中编译静态库(.a)和动态库(.so)的基本方法
VS2010 静态编译
Debug 和 Release 编译方式的本质区别 - syf442 - CSDN博客
蓝屏?丢失文件?系统问题轻松解决
手动解决dll文件无法删除的问题
手动解决dll文件无法删除的问题
解决编译android2.2源码时出错的问题
在Symbian开发环境下如何编写静态接口DLL(动态链接库)
编译QT的mysql驱动 - - JavaEye技术网站
Trace 和Debug WriteLine 方法
Linux怎样编写和编译动态库
教育技术思考在线--解决Linux的Root密码丢失问题
静态编译QT4 - 舒心一刻 - JavaEye技术网站
在windows xp下编译出ffmpeg dll
静态数据成员和静态函数成员
dll创建和使用
用gcc编译.cpp文件可能出现"undefined reference to `__gxx_personality_v0‘"问题的解决 - mtybeen的专栏 - CSDNBlog
float精度丢失问题