为什么qt报:驱动器中没有磁盘。请将磁盘插入 \Device\Harddisk4\DR4?

Why does qt report: There is no disk in the drive. Please Insert a disk in to \Device\Harddisk4\DR4?

Qt 报告

There is no disk in the drive. Please Insert a disk in to \Device\Harddisk4\DR4 

在应用程序启动期间。其他帖子报告这是由于访问丢失的可移动驱动器引起的,但就我而言,我没有任何。我也没有调用 QFileInfo().isreadable()。这是 Qt 5.11 的 MSYS2 版本。

使用 procmon 我能够看到最后一次文件访问是对文件 qt.conf 的当前文件夹。将此文件放在当前文件夹中足以解决问题。

以前版本的 Qt 没有表现出这种行为。这个解决方法还不错,但没有必要。

http://doc.qt.io/qt-5/qt-conf.html

Without qt.conf, the Qt libraries will use the hard-coded paths to look for plugins, translations, and so on. These paths may not exist on the target system, or they may not be accessible. Because of this, you may need qt.conf to make the Qt libraries look elsewhere.

这不是解决方案,但它表明构建可能正在硬编码路径中寻找插件。

在 msys2 中更新到 Qt 5.11 的较新版本后,问题消失了。