我有一个使用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日志,直到找到破坏它的提交。 Commit中唯一的变化就是我从项目文件中删除了CONFIG + = console。我不想在后台使用控制台运行我的程序,所以我仍然在寻找修复。答案 0 :(得分:0)
经过进一步调查,我在调试日志中发现正在加载qminimal.dll,然后立即卸载。我发现我需要将qminimal.dll移动到我的程序运行目录中的平台文件夹中。
我假设没有控制台告诉应用程序使用qminimal而不是其他一些dll。调试版本不受影响,因为它显然总是使用控制台构建。
显然它起源于qtcreator,因为知道它必须加载qminimal。