Вопрос:
Я пытаюсь скомпилировать Qt 4.7.4, но всегда получаю эту ошибку:
mt.exe: general error c101008d: Failed to write the updated manifest to the resource of file «releasetutorial5.exe». The system cannot find the file specified. NMAKE : fatal error U1077: ‘»C:Program Files(x86)Microsoft SDKsWindowsv7.0Abinmt.exe»‘ : return code ‘0x1f’ Stop. NMAKE : fatal error U1077: ‘»C:Program Files(x86)Microsoft Visual Studio 10.0VCBINnmake.exe»‘ : return code ‘0x2’ Stop. NMAKE : fatal error U1077: ‘cd’ : return code ‘0x2’ Stop. NMAKE : fatal error U1077: ‘cd’ : return code ‘0x2’ Stop. NMAKE : fatal error U1077: ‘cd’ : return code ‘0x2’ Stop.
С помощью командной строки Visual Studio я выполнил следующие команды:
configure -debug-and-release -opensource -platform win32-msvc2010 nmake
Что я могу сделать для устранения этой ошибки?
Лучший ответ:
Таким образом, очевидно, что tutorial5.exe не работает правильно или полностью, и exe никогда не создается. Mt.exe – это инструмент построения постсооружений Windows, который используется для создания подписанных файлов и каталогов. Он возвращает ошибку, потому что не может найти файл.
Решение вашей проблемы включает исключение демонстраций и обучающих программ из вашей сборки или поиск ошибки в исходном коде для учебника 5, чтобы он правильно строился. Или вы даже можете поместить фиктивную версию tutorial5.exe, чтобы увидеть, является ли это единственной ошибкой.
Скорее всего, ошибка в исходном коде имеет какое-то отношение к разнице между инструментом компилятора по умолчанию для Qt в Windows (MingW) и компилятором msvs2010 и тем, как они пытаются обрабатывать определенный код Windows.
Как исключить примеры при построении Qt
Другие люди в сети с аналогичными проектами исключили примеры из вызова сборки nmake, используя флаг “sub-src”.
-
Как создать Qt 4.3.4 без примеров и демонстраций
Что такое tutorial5.exe
Вот расположение в построенной по умолчанию Qt для release/tutorial5.exe:
C:QtSDKExamples4.7qtestlibtutorial5
и здесь он находится в документации: Qt 4.8: Глава 5: Написание контрольного показателя
Вероятно, вам следует отправить билет, описывающий проблему, в проект Qt: bugreports.qt.io
Удачи.
Ответ №1
Аналогичная ошибка с консольным приложением Qt с Qt 4.8.1, Creator 2.7.1, MSVC2010 Express в Windows 7 64 бит:
«mt.exe : general error c101008d: Failed to write the updated manifest to the resource of file … »
А потом что-то вдоль
The process cannot access the file because it is being used by another process.
Однако приложение построено, а затем может быть “Run” изнутри Creator.
Ошибка также возникает при “Build”, то есть не “Run”.
Я начал думать, что это может быть проблема синхронизации, например. создатель запускает оболочку для запуска программы слишком рано.
Он работает полностью (без ошибок) после удаления файла.
Может быть, мой GIT (или TortoiseGIT) обращается к файлу, хотя я не могу видеть эти процессы.
Изменить: это может быть и антивирусный сканер, проверяющий записываемый файл.
Edit2: подтверждено: временное отключение сканера устраняет проблему
Ответ №2
Попробуйте запустить командную строку Microsoft visual studio в качестве администратора. Когда вы переходите на панель шарма и ища приглашение MSVS, щелкните правой кнопкой мыши и запустите его как admin.