Qt 5.0.1:应用程序将不会在Qt创建者之外执行
Qt 5.0.1: Application will not execute outside of Qt creator
我正在尝试运行TransitTalker.exe程序,这是我从qt编译的代码,如图所示:
https://www.dropbox.com/s/ypgklrm4uschri5/filecontents.png
(注意,我没有足够的信誉来张贴图片,这就是我提供图片链接的原因)
我的问题:
-
我的程序不会在qt创建者之外执行。
-
我在尝试运行TransitTalker.exe时收到以下消息:"此应用程序已请求运行时以异常方式终止它。请联系应用程序的支持团队以获取更多信息。"
我已经做了什么:
-
我已经添加了所需的dll(除了GPSVC.dll和IESHIMS.dll)。我通过一个名为dependencywalker的程序找到了所需dll。
-
我确保我的程序在qtcreator中运行,没有任何错误。
我的主要问题:为什么我收到此运行时消息:"此应用程序以异常方式请求运行时终止它。请与应用程序的支持团队联系以获取更多信息。"。我希望能够将我的程序TransitTalker.exe作为qt独立应用程序运行。
运行qt creator 5.0.1(MINGW 47_32)。我在同一台计算机上也有Visual Studio 2012。
我知道这被标记为已解决,但我遇到了同样的问题,我通过从Qt二进制文件目录复制libEGL.dll
来解决它。出于某种奇怪的原因,它没有显示在依赖项检查中,我不得不查看长调试日志,看看实际加载了哪些库。(而且它不在您的图像中,所以很可能是同样的问题)
我的应用程序现在可以工作了。请参阅下面关于我如何做到这一点的解决方案。
Dmitry认为MinGW GCC 4.7与Qt 5.0.1不兼容是正确的,我通过后验证了这一点
我的解决方案:我安装了使用MinGW GCC 4.4的Qt Creator 4.8 SDK。我能够在Qt Creator之外运行我的可执行应用程序。
我的猜测是Qt在启动时断言失败(例如在QApplication构造函数中),正在向stdout(或stderr?)打印一条消息,然后,呃,"以异常方式终止应用程序"。
如果是这样的话,那么你会想知道错误消息是怎么说的。一种方法是将以下代码临时添加到main()的顶部:
AllocConsole();
freopen("conin$", "r", stdin);
freopen("conout$", "w", stdout);
freopen("conout$", "w", stderr);
然后重新编译程序并再次运行。当它运行时,应该会出现一个MS-DOS shell窗口,注意它是否有任何关于Qt不高兴的信息。
- Qt创建者:加载位于子目录中的项目文件
- Qt创建者-如何删除Clang代码模型
- 使用Cmake将插件安装到独立的Qt Designer(不是Qt创建者)中
- RTLD_NOW和 dlopen 未在此范围内声明 qt 创建者 vulkan dlopen
- 原版Qt创建者是否有C++标准库
- QT创建者 - selecteddate()不起作用
- 当将QT创建者与CMAKE一起使用时,为什么我不必手动链接MSVC库
- QT创建者:Arm-Linux-androideabi-G :找不到
- 创建小部件的GUI菜单不会出现在QT创建者中
- Qt 创建者在我将项目移动到另一个地方后仍然使用源项目
- QT创建者(4.2.2)编辑器中的独特指针导航
- 调整QT创建者的复选框
- QT创建者的错误
- Mac上使用QT创建者的链接增强
- QT创建者中对CMU狮身人面像函数的未定义引用
- QT创建者:简单程序未解决的外部符号和外部符号错误
- 页面未在此范围内声明 - qt 创建者 - PoDoFo
- QT创建者添加MQTT库
- 如何将scintilla组件添加到QT创建者C 项目中
- qt创建者cmakelists.txt C 链接错误