0

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

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

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

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

奇怪的是,当我尝试从资源管理器运行发布版本时,它会在启动时立即崩溃,除非我通过右键单击并选择使用图形处理器运行来运行它。(无论我在英特尔还是 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。我不想在后台使用控制台运行我的程序,所以我仍在寻找修复程序。

4

1 回答 1

0

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

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

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

于 2013-06-09T00:51:17.360 回答