我在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有什么问题吗?
答案 0 :(得分:3)
与您使用相同的设置有完全相同的问题,期望Windows版本对我来说是xp。问题是无法找到rcc.exe,因为该调用使用了错误的路径。
此问题在qt-projects上有一个错误报告:https://bugreports.qt.io/browse/QTBUG-27237
DanielFrö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)重新编译