2013-03-27 3 views
1

После реорганизации мои исходные файлы в подкаталогах и направление вывода, какDebugging файл ресурсов компиляции (rc.exe) в MSVC2010 Экспресс и Qt 4.8 (Qt Creator 2.4.1)

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 в папку, указанную в Makefile. Отладка в LIBS и RES_FILE и в одном из первых правил сборки работает нормально.

Итак, вопрос в том, почему файл больше не создан (он работает со старым проектом со всеми исходными файлами в каталоге проекта и по умолчанию «релиз» и «debug» dirs).

Добавление параметров отладки в проект Qt Creator> Настройки сборки для 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 для компиляции.

+0

qmake doc: http: // qt-project.org/doc/qt-4.8/qmake-running.html – handle

ответ

1

Возможная причина: Переосмысление каталог сборки, видимо, вызвало инструменты использовать абсолютный путь, который содержит пробелы, в результате вызова программы на провал (но который rc.exe's`?)

Решение: Нет дополнительной информации о получении надлежащего отладочного вывода инструментальной цепочки (jom и qmake), но убедитесь, что в пути не устранено пробелов. В результате исполняемый файл снова включил свою информацию о ресурсах.