这个错误可能是由于Qt 5.7源代码中的一个已知问题导致的。解决此问题的方法是在编译时禁用FFmpeg模块。
以下是一些指导步骤:
1. 打开Qt 5.7源代码根目录下的“qtbase\mkspecs\win32-msvc2015”文件夹。
2. 复制“qmake.conf”文件并将其重命名为“qmake.conf.bak”。
3. 打开“qmake.conf”文件,并注释掉以下两行:
```
# QMAKE_CFLAGS_RELEASE += -Zi
# QMAKE_LFLAGS_RELEASE += /DEBUG /OPT:REF /OPT:ICF
```
4. 保存并关闭“qmake.conf”文件。
5. 在终端中进入Qt源代码根目录,并执行以下命令来重新生成Makefile:
```
configure -debug-and-release -opensource -confirm-license -nomake examples -nomake tests -skip qtwebengine -skip qtwebview -no-ffmpeg
```
这个命令将重新配置Qt的构建选项,并跳过FFmpeg模块的编译。
6. 继续执行以下命令来编译Qt:
```
nmake
```
这个命令将使用Visual Studio 2015编译Qt,并生成所需的库和可执行文件。
注意:禁用FFmpeg模块可能会影响某些功能,如视频播放等。如果您需要使用这些功能,请考虑升级到更高版本的Qt或使用其他开源库来实现这些功能。