Qt 4.8.3 中的 Qt 资源系统错误
Qt resource system bug in qt 4.8.3
我在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) 重新编译
- 使用 Bazel 生成 QT 资源文件
- 使用cmake(窗口)构建时不显示Qt资源
- 无法将DefineClass(JNI)与Qt资源一起使用
- 为什么Qt资源被加载到Linux而不是Windows中?
- QT 资源不起作用
- 在QT资源系统中,前缀比文件系统路径的优势是什么?
- 如何在没有QT项目的情况下使用Visual Studio中的QT资源文件
- Linux 下的 Qt 资源
- Qt 4.8.3 中的 Qt 资源系统错误
- 使用CMake和AUTORCC的Qt资源文件
- 查询Qt资源集合(.qrc)中的资源数量
- Qt资源国际化失败
- 如何将qt资源添加到安卓APK文件
- Qt资源文件不会在不编译的情况下更新
- Qt资源系统中文件的最后修改日期
- 无法加载Qt5/cmake项目中Qt资源文件中指定的图像
- 如何从非Qt函数访问Qt资源数据
- QT资源文件-图像不显示时运行
- 从QT资源中加载一个openCV Haarcascade
- QWebView可以从Qt资源文件中加载*.js并运行它们吗?