2

我在 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文件的输出部分:

bin\rcc.exe -name Resource ..\Source\Resource.qrc -o release\qrc_Resource.cpp
mingw32-make[1]: Leaving directory `E:/Programs/Version Control/Sources/Spadetrump/Release'
process_begin: CreateProcess(NULL, bin\rcc.exe -name Resource ..\Source\Resource.qrc -o release\qrc_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:\MingW\bin\mingw32-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 有什么问题吗?

4

1 回答 1

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) 重新启动所有开发工具并删除所有自动生成的 Makefile
6) 重新编译

于 2012-11-21T13:15:39.233 回答