Ниже выводится компилятор. Странно, что запуск сборки во второй раз удался. Однако я подозреваю, что проблема может быть связана с этой ошибкой при запуске mt.exe, который отвечает за встраивание информации из манифеста в исполняемый файл ...
Generating Code...
link /LIBPATH:"c:\Qt\4.5.2-vc\lib" /NOLOGO /DEBUG /MANIFEST /MANIFESTFILE:"debug\formExtractor.intermediate.manifest" /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /OUT:debug\formExtractor.exe @.\nmD932.tmp
mt.exe -nologo -manifest "debug\formExtractor.intermediate.manifest" -outputresource:debug\formExtractor.exe;1
'mt.exe' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'mt.exe' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
Exited with code 2.
UPDATE
Неудачный запуск mt.exe во время процесса связывания действительно был причиной проблемы. Я добавил путь к Windows SDK (C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
) в переменную среды PATH и теперь могу запускать исполняемый файл.
Комментарии к разным ответам;
@ Шай
Выходной текстовый файл из sxstrace пуст. Понятия не имею почему. Однако в журнале приложений есть следующая информация:
Faulting application formExtractor.exe, version 0.0.0.0, time stamp 0x4a638ee1, faulting module MSVCR90D.dll, version 6.0.6002.18005, time stamp 0x49e03824, exception code 0xc0000135, fault offset 0x0006f04e, process id 0xf68, application start time 0x01ca08ba801ac5cf.
Версия 6.0.6002.18005?
Какого черта это?
@ Кирилл В. Лядвинский
Зависимость Уокер находит msvcr90d.dll
используемый qtwebkit4.dll
файл в
c:\windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\MSVCR90D.DLL
, но не находит (другую версию?) msvcr90d.dll
файл, связанный напрямую с исполняемым файлом. Однако DW, похоже, нигде не показывает свою версию?
Конкурс файла formExtractor.intermediate.manifest
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level='asInvoker' uiAccess='false' />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*' />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.DebugCRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
Из файла манифеста похоже, что исполняемый файл связан с версией msvcr90d.dll
, отличной от qtwebkit4.dll
. Странно то, что обе версии msvcr90d.dll
находятся в папке c:\windows\winsxs
в следующих подпапках
x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.21022.8_none_96748342450f6aa2
а также
x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb
Есть идеи?
@ knight666
Я использую фреймворк Qt, который я скомпилировал, используя именно тот компилятор, который я сейчас использую, поэтому я думаю, что здесь нет несоответствия Кроме того, Dependency Walker показывает, что отсутствующий файл msvcr90d.dll
связан напрямую с исполняемым файлом, поэтому я думаю, что это не ошибка какой-либо сторонней библиотеки.