Qt 4.8.3 中的 Qt 资源系统错误

Qt resource system bug in qt 4.8.3

本文关键字:Qt 资源 系统错误 中的      更新时间:2023-10-16

我在Windows 8 Pro x64上使用Qt 4.8.3开源和Qt Creator 2.6.0。我使用的编译器是MingW 4.4。

我有一个使用 Qt 4.8.0 构建的旧项目。该项目具有一个名为 Resource.qrc 的资源文件。该项目在Qt 4.8.0中编译得很好,我可以访问资源文件中提到的所有内容。

但是在Qt 4.8.3中,我无法编译相同的项目。Qt 4.8.3 似乎无法编译资源文件。以下是尝试编译Resource.qrc文件的输出部分:

binrcc.exe -name Resource ..SourceResource.qrc -o releaseqrc_Resource.cpp
mingw32-make[1]: Leaving directory `E:/Programs/Version Control/Sources/Spadetrump/Release'
process_begin: CreateProcess(NULL, binrcc.exe -name Resource ..SourceResource.qrc -o releaseqrc_Resource.cpp, ...) failed.
make (e=2): The system cannot find the file specified.
mingw32-make[1]: *** [release/qrc_Resource.cpp] Error 2
mingw32-make: *** [release] Error 2
00:08:10: The process "C:MingWbinmingw32-make.exe" exited with code 2.
Error while building/deploying project Spadetrump (target: Desktop)
When executing step 'Make'

这是一个干净的构建。如果我使用完全相同的参数和绝对路径执行rcc.exe,则会生成qrc_Resource.cpp

我用一个新的Qt GUI应用程序尝试了上述操作,结果是一样的。

知道Qt 4.8.3有什么问题吗?

在相同的设置下遇到了与您完全相同的问题,期望 Windows 版本对我来说是 xp。问题是找不到 rcc.exe,因为该调用使用了不正确的路径。

qt-projects有一个关于这个问题的错误报告:https://bugreports.qt.io/browse/QTBUG-27237

丹尼尔·弗洛梅尔(Daniel Frömmel)提出的工作原理为我提供了诀窍:

1)打开平台的qmake.conf(对我来说是C:\Qt\4.8.3\mkspecs\win32-g++)
2) 搜索QMAKE_IDC
3) 在QMAKE_IDC行之后添加以下行: QMAKE_RCC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}rcc.exe
4)保存文件和CLSOE
5) 重新启动所有开发工具并删除所有自动生成的生成文件
6) 重新编译