【问题标题】:Qt5 App crashes instantly unless run with graphics processor除非使用图形处理器运行,否则 Qt5 应用程序会立即崩溃
【发布时间】:2013-06-08 23:39:14
【问题描述】:

我有一个使用 QtCore、QtGui、QtWidgets 和 QtMultimedia(仅用于声音)的 Qt5

起初它编译并运行良好,但现在它立即崩溃。我发现它在以下场景下运行良好。

  • 从 QtCreator 启动(调试和发布)

  • 从资源管理器启动(仅限调试版本)

奇怪的是,当我尝试从资源管理器运行发布版本时,它在启动时立即崩溃除非我通过右键单击并选择使用图形处理器运行来运行它。 (无论我选择 intel 还是 nvidea 内置的 gpu)

查看来自 QtCreator 的调试日志,我可以看到它在这三个其他 dll 中加载

sLibrary C:\Program Files (x86)\NVIDIA Corporation\CoProcManager\detoured.dll loaded
sLibrary C:\Program Files (x86)\NVIDIA Corporation\CoProcManager\Nvd3d9wrap.dll loaded
sLibrary C:\Program Files (x86)\NVIDIA Corporation\CoProcManager\nvdxgiwrap.dll loaded

是否有一些我可能意外更改的内容会导致这种行为?我不确定为什么它最初会起作用,并且最近才开始这种行为。

编辑:我浏览了我的 git 日志,直到找到破坏它的提交。提交的唯一变化是我从项目文件中删除了 CONFIG +=console。我不想在后台使用控制台运行我的程序,所以我仍在寻找修复方法。

【问题讨论】:

    标签: c++ qt dll qt5


    【解决方案1】:

    经过进一步调查,我在调试日志中发现 qminimal.dll 正在加载,然后立即卸载。我发现我需要将 qminimal.dll 移动到运行我的程序的目录中的平台文件夹中。

    我假设没有控制台会告诉应用程序使用 qminimal 而不是其他一些 dll。调试版本不受影响,因为它显然总是使用控制台构建。

    显然它可以从 qtcreator 工作,因为它知道它必须加载 qminimal。

    【讨论】:

      猜你喜欢
      • 2015-07-12
      • 2013-07-07
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多