[英]Qt 5.0.1: Application will not execute outside of Qt creator
我正在尝试运行TransitTalker.exe程序,这是我从qt编译的代码,如下图所示:
https://www.dropbox.com/s/ypgklrm4uschri5/filecontents.png
(请注意,我没有足够的声誉来发布图片,这就是我提供图片链接的原因)
我的问题:
我的程序不在qt creator之外执行。
我收到以下消息尝试运行TransitTalker.exe: “此应用程序已请求运行时以不寻常的方式终止它。请联系应用程序的支持团队以获取更多信息。”
我已经做了什么:
我添加了所需的dll(除了GPSVC.dll和IESHIMS.dll)。 我通过一个名为dependency walker的程序找到了所需的dll。
我确保我的程序在qt creator中运行,没有错误。
我的主要问题:为什么我收到此运行时消息: “此应用程序已请求Runtime以不寻常的方式终止它。请联系应用程序的支持团队以获取更多信息。” 。 我希望能够将我的程序TransitTalker.exe作为qt独立应用程序运行。
运行qt creator 5.0.1(MINGW 47_32)。 我也在同一台计算机上安装了Visual Studio 2012。
我知道这标记为已解决,但我遇到了同样的问题,我通过从Qt二进制文件目录复制libEGL.dll
解决了这个问题。 由于一些奇怪的原因它没有出现在依赖检查中,我不得不查看长调试日志以查看实际加载的库。 (它不在你的图像中,所以它很可能是同样的问题)
我的猜测是Qt正在进行某种启动时断言(例如在QApplication构造函数中)并且正在向stdout(或stderr?)打印消息,然后错误地“以不寻常的方式终止应用程序”。
如果是这种情况,那么您将需要找出错误消息所说的内容。 一种方法是将以下代码临时添加到main()的顶部:
AllocConsole();
freopen("conin$", "r", stdin);
freopen("conout$", "w", stdout);
freopen("conout$", "w", stderr);
...然后重新编译您的程序并再次运行它。 当它运行时,应该出现一个MS-DOS shell窗口,观察它有关Qt不满意的任何信息性消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.