Ошибка сборки c101008d Visual Studio C++, связанная с mt.exe

Мне нужно скомпилировать код на С++, который имеет некоторые функции OpenCV и выполняет своего рода тест. Дело в том, что код работал на других компьютерах, мне просто нужно правильно настроить включения и библиотеки, чтобы он работал на моем ПК.

Я получаю эту странную ошибку в режиме выпуска при сборке.

Error: general error c101008d: Failed to write the updated manifest to the resource of file ".\bin\pcTest.exe". The process cannot access the file because it is being used by another process. mt.exe

Я нашел другие ответы, в которых говорится, что mt.exe имеет отношение к антивирусу или что-то в этом роде. Кто-нибудь знает, почему это происходит или как я могу это решить?


person Jav_Rock    schedule 22.12.2011    source источник
comment
mt.exe — это приложение, включенное в SDK, которое встраивает манифест в приложение. Это не антивирусное приложение. Но ваш может мешать: вы настроили его с исключением для вашего каталога установки Visual Studio (и подкаталогов) и ваших каталогов проекта кода?   -  person Cody Gray    schedule 22.12.2011
comment
Ну, админ компании настроил, так что надо проверить, но дело в том, что я скопировал этот проект не в свою обычную папку проекта, а на рабочий стол. Я попытаюсь поместить его в папку проекта VStudio.   -  person Jav_Rock    schedule 22.12.2011
comment
Антивредоносное ПО на 99,99% является причиной этой ошибки. Avast особенно несовместим с VS. Symantec Endpoint также имеет высокий коэффициент отстойности, но гораздо менее последовательно испортит вашу сборку. Остальные 0,01% — это реальный вирус, пытающийся испортить только что созданный .exe :) Обходной путь — возиться с файлом msbuild .targets и вставить задержку перед mt.exe, чего вы действительно не хотите делать. .   -  person Hans Passant    schedule 22.12.2011


Ответы (2)


Есть ли файл .exe, когда вы его ищете? Если это так, проверьте, не блокирует ли его что-то еще, используя LockHunter (http://lockhunter.com). Единственный раз, когда у меня была эта ошибка, это когда я уже запускал программу, а затем пытался собрать ее снова - убедитесь, что это не то, что происходит :)

person Stuart Golodetz    schedule 22.12.2011

Я получаю эту ошибку, когда пытаюсь вывести отладочную версию исполняемого файла в каталог, который существует в моем каталоге C:/Program Files (x86). Это свойство проекта Visual Studio, которое я установил. (Щелкните правой кнопкой мыши проект | Свойства | Общие | Выходной каталог).

Я устранил эту проблему, временно отключив Symantec Endpoint Protection. Если ваши привилегии не позволяют вам это сделать, вы можете попробовать вывести исполняемый файл в другое место, а затем скопировать/вставить его в нужный каталог.

person dem7w2    schedule 28.08.2015