在将我的源文件重新组织到子目录并定向输出之后
CONFIG( debug, debug|release ) {
DESTDIR = $$PWD/build/debug
} else {
DESTDIR = $$PWD/build/release
}
OBJECTS_DIR = $$DESTDIR/.obj
MOC_DIR = $$DESTDIR/.moc
RCC_DIR = $$DESTDIR/.qrc
UI_DIR = $$DESTDIR/.ui
似乎包含的资源文件
RC_FILE += res/projectname.rc
没有编译成对应的.res文件,因为jom.exe快速返回
C:\QtSDK\QtCreator\bin\jom.exe -f Makefile.Debug
Error: dependent '"c:\path\to\projectname\build\debug\.obj\projectname.res"' does not exist.
该文件确实不存在。
如果我手动运行“C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\RC.exe /r projectname.rc”并将生成的 .res 文件复制到 LIBS 的 Makefile.Debug 中指定的文件夹中, RES_FILE 并且在第一个构建规则中它工作正常。
所以问题是,为什么不再创建文件(它适用于旧项目,项目目录中的所有源文件以及默认的“发布”和“调试”目录)。
将调试选项添加到 Qt Creator 的 Project>Build Settings for qmake (-Wall) 和 jom (VERBOSE=2) 并没有产生更多关于出错的信息。
Makefile.Debug 有一个 .res 文件的目标,其中源文件没有绝对路径,但即使我完成了路径它也不起作用。
如何从 jom 获得更多调试输出以查看是否调用了 rc.exe?
这是失败时的输出:
18:39:45: The process "c:\qtsdk\desktop\qt\4.8.1\msvc2010\bin\qmake.exe" exited normally.
18:39:45: Starting: "C:\QtSDK\QtCreator\bin\jom.exe" VERBOSE=2
C:\QtSDK\QtCreator\bin\jom.exe -f Makefile.Debug
Error: dependent '"c:\path\to\projectname\build\debug\.obj\projectname.res"' does not exist.
jom 1.0.8 - empower your cores
jom: c:\path\to\projectname\Makefile [debug] Error 2
18:39:46: The process "C:\QtSDK\QtCreator\bin\jom.exe" exited with code 2.
Error while building project projectname (target: Desktop)
When executing build step 'Make'
我还将 SDK 的路径添加到系统变量中。我正在使用 VS C++ 2010 Express 进行编译。