Qt 4.8.4 mingw (gcc 4.7) 可以编译但不能运行
Posted
技术标签:
【中文标题】Qt 4.8.4 mingw (gcc 4.7) 可以编译但不能运行【英文标题】:Qt 4.8.4 mingw (gcc 4.7) can compile but cannot run 【发布时间】:2013-03-14 03:09:25 【问题描述】:我是 Qt 的新手。 我正在使用带有 MinGW 的 Wnndows 8 (gcc 4.7.2) 我已经安装了 QtLibrary 4.8.4(官方网站说 Qt 4.84 应该与 mingw 4.4 一起使用) 修改 Windows 环境变量后,我安装了 Qt Creator 2.6 并设置了工具包。
现在我可以编译示例程序,但不能运行它,我得到的错误信息是
正在启动 D:\usr\bin\Qt4\examples\opengl\2dpainting-build-Kit_3_14-Debug\debug\2dpainting.exe... 程序意外结束。 D:\usr\bin\Qt4\examples\opengl\2dpainting-build-Kit_3_14-Debug\debug\2dpainting.exe 退出,代码 -1073741502
我在 Qt 5.0.1 + MinGw 4.7.2 上也遇到了同样的问题。 我猜“opengl”有问题,但不知道如何解决。 请帮忙。
【问题讨论】:
使用依赖walker查看是否缺少任何dll。 如果您自己解决了问题,您应该添加答案并接受它。 【参考方案1】:请尝试将所有必需的 dll 放入您的 exe 所在的目录(请参阅here)。 也使舒尔;如果您在 Debug 中编译,则需要例如。 QtCored4.dll,但在发布 QtCore4.dll。
【讨论】:
我按照建议将 QtCore4.dll QtCored4.dll QtGuid.dll QtGuid.dll 从 /Qt/bin/ 复制到目标目录 ***.com/questions/7252583/…"> 那里 但是问题依然存在。 好的,接下来在调试中运行你的程序,检查它崩溃的地方。如果您收到SIGSEV
或类似的信息,请参见此处:***.com/questions/13962857/…
我下载了 MinGW4.4 并更改了 Qt 设置,现在可以正常工作了。似乎所需的 gcc 版本不能用另一个替换。感谢您的建议。
对于 Qt 4.x,您需要 MinGW 4.4 - 其他一切都不起作用。但如果我的回答解决了你的问题,请采纳。【参考方案2】:
一切都与 x32 和 x64 架构有关, 如果您在 x64 模式下编译 cpp 文件,然后将它们与 x32 qt 链接,则会出现问题。 尝试使用适当版本的 windows 和 qt(都是 x32 或两者都是 x64)
【讨论】:
以上是关于Qt 4.8.4 mingw (gcc 4.7) 可以编译但不能运行的主要内容,如果未能解决你的问题,请参考以下文章
Qt编译时MinGW去掉对gcc动态库的依赖(去掉对libgcc_s_dw2-1.dll,libstdc++-6.dll的依赖)