VisualStudio — Неустранимая ошибка LNK1168: невозможно открыть myfile.exe для записи
Иногда, когда я пытаюсь скомпилировать свой проект, VisualStudio показывает мне эту ошибку:
1> ССЫЛКА: фатальная ошибка LNK1168: невозможно открыть C: \ Path \ myfile.exe для записи
И это не позволило мне скомпилировать проект.
Кажется, что myfile.exe еще открыт и работает в фоновом режиме, хотя я его закрыл. Я открыл Win TaskManager, но файл не отображается в списке запущенных процессов.
Эта ошибка сохраняется, и единственное решение, которое я нашел, — это перезагрузить систему, но это утомительный способ, который сводит меня с ума, потому что эта ошибка часто повторяется.
Есть идеи по ее устранению? У кого-то раньше была такая же ошибка?
2 ответа
У меня уже много раз возникала эта ошибка. Хотя ваш myfile.exe не отображается в TaskManager, он еще присутствует в фоновом режиме. Если вы откроете cmd как администратор и наберете:
список задач | НАЙТИ «myfile.exe»
Вы можете увидеть, как работает ваш процесс.
Итак, теперь введите команду:
taskkill / IM myfile.exe / F
Чтобы заставить процесс убить.
Теперь, если вы снова попытаетесь скомпилировать свой проект, вы увидите, что с компилятором все в порядке, и ошибка устранена.
Конечно, возможно, что эта ошибка повторится снова, поэтому я предлагаю вам создать файл .bat , который запускает команду kill, чтобы вы могли быстро решить проблему.
У Microsoft есть веб-страница, посвященная этой ошибке:
Первое, что находится на связанной странице:
Остальная часть страницы обсуждает детали того, почему компоновщик не может записывать в файл.
VC++ fatal error LNK1168: cannot open filename.exe for writing
Suddenly, my Visual Studio Express 2010 C++ stopped rebuilding my project. When I first hit F7 the project builds and runs fine (heck, it’s a hello world example).
Then I make some changes and hit F7 again, then I get:
Now the funny thing comes:
- The app is not running and it’s not shown in the Task Manager.
- Going into the project directory and trying to remove it with hands comes with success but the file APPEARS AGAIN FROM NOWHERE.
- The system restore is disabled.
- I also tried to take the ownership of the whole damn drive.
- Every time I delete the file it recreates itself again but sometimes it stops doing that.
- If I delete the file (and it recreates after that), and then I start sysinternals procmon then the file disappears.
- If I start procmon before — then the file keeps appearing after delete like always.
OS: W7 SP1 64-bit, with latest updates
Any ideas, please?
16 Answers 16
The problem is probably that you forgot to close the program and that you instead have the program running in the background.
Find the console window where the exe file program is running, and close it by clicking the X in the upper right corner. Then try to recompile the program. In my case this solved the problem.
I know this posting is old, but I am answering for the other people like me who find this through the search engines.
Enable “Application Experience” service. Launch a console window and type net start AeLookupSvc
![]()
I’ve encountered this problem when the build is abruptly closed before it is loaded. No process would show up in the Task Manager, but if you navigate to the executable generated in the project folder and try to delete it, Windows claims that the application is in use. (If not, just delete the file and rebuild, which generates a new executable) In Windows(Visual Studio 2019), the file is located in this directory by default:
To end the allegedly running process, open the command prompt and type in the following command:
This forces any running instance to be terminated. Rebuild and execute!
![]()
Restarting Visual Studio solved the problem for me.
In my case, cleaning and rebuilding the project resolved the problem.
If the above solutions didn’t work, you can try this which worked for me.
Open an elevated command prompt ( cmd -> Run as administrator ), then write following command and hit enter:
If you see a message: Instance deletion successful. , then you will be again able to build and run project from VS.
e.g. in OP’s case, the command will be:
well, I actually just saved and closed the project and restarted VS Express 2013 in windows 8 and that sorted my problem.
Lnk1168 c как исправить
![]()
Лучший отвечающий
Вопрос
Подскажите пожалуйста. Пишу исходник в Microsoft Visual C++ 2008 Express Edition. Компилирую — все нормально, работает. вношу какие либо изменения в коде и пытаюсь заново скомпилировать. Выдает вот такую ошибку.
1>—— Построение начато: проект: 5_stepen’, Конфигурация: Debug Win32 ——
1>Компиляция.
1>stepen’.cpp
1>Компоновка.
1>LINK : fatal error LNK1168: не удается открыть C:\Users\Anton\Documents\Visual Studio 2008\Projects\5_stepen’\Debug\5_stepen’.exe для записи
1>Журнал построения был сохранен в "file://c:\Users\Anton\Documents\Visual Studio 2008\Projects\5_stepen’\5_stepen’\Debug\BuildLog.htm"
1>5_stepen’ — ошибок 1, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Для устранения приходится сохранить мой.cpp и закрыть прогу. через 2 минуты отрывать. тогда запускается компиляция. Ни чего не могу поделать.
- Перемещено Siddharth Chavan 2 октября 2010 г. 0:53 MSDN Forums Consolidation (От:Visual Studio — отзывы и пожелания)
Ответы
Такое происходит, когда Ваш файл 5_stepen.exe не доступен для записи. В ОС WinNT это ситуация возникает, когда файл залочен. Причиной может служить следующее: Вы скомпилировали проект и запустили полученный код. Вносите изменения, компилируете, но запись в файл .exe линковщиком не может быть выполнена, т.к. программа продолжает выполняться, т.е. она продолжает висеть в памяти. Для решения проблемы необходимо просто остановить выполнение Вашей программы 5_stepen.exe.
- Помечено в качестве ответа -An- 9 мая 2010 г. 19:15
Все ответы
Такое происходит, когда Ваш файл 5_stepen.exe не доступен для записи. В ОС WinNT это ситуация возникает, когда файл залочен. Причиной может служить следующее: Вы скомпилировали проект и запустили полученный код. Вносите изменения, компилируете, но запись в файл .exe линковщиком не может быть выполнена, т.к. программа продолжает выполняться, т.е. она продолжает висеть в памяти. Для решения проблемы необходимо просто остановить выполнение Вашей программы 5_stepen.exe.
- Помечено в качестве ответа -An- 9 мая 2010 г. 19:15
Здравствуйте, я использую Visual Studio 2008 Pro (C++). Недавно появилась такая проблема: при построении проекта построение "останавливается" на компановке и дальше ни в какую. Студия закрывается только экстренным завершением через диспетчер задач. При этом после закрытия остается процесс link.exe, который:
1) нельзя "убить" (пробовал стандартным диспетчером задач Win XP, Far менеджером);
2) использует файлы компилированного проекта (BuildLog.htm, main.obj, Program.exe в папке Debug) таким образом их нельзя удалить или изменить (при перезапуске визуалки проект не компилируется);
3) не может завершиться при попытке выхода из пользователя/ухода в спящий режим/выключения/перезагрузки, т.е. комп выключается только через ресет.
При этом если после перезапуска визуалки компилировать другой проект получается (с ним может возникнуть аналогичный косяк и будет уже два "висячих" процесса).
Попробовал переставить визуалку — помогло, но не надолго (2-3 дня данной ошибки не было).
Не подскажите, как избавиться от косяка (или хотя бы "убить" процесс без перезагрузки). Заранее спасибо.
Неустранимая ошибка VC ++ LNK1168: невозможно открыть filename.exe для записи

внезапно моя Visual Studio Express 2010 c ++ перестала перестраивать мой проект. Когда я впервые нажимаю F7, проект строится и работает нормально (черт возьми, это привет, мир). Затем я вношу некоторые изменения и снова нажимаю F7, после чего получаю: 1> ССЫЛКА: фатальная ошибка LNK1168: невозможно открыть C: \ Users \ username \ Documents \ Visual Studio 2010 \ Projects \ console \ Debug \ console.exe для записи А теперь самое смешное:
- приложение не запущено и не отображается в диспетчере задач.
- зайти в директорию проекта и попытаться удалить его руками увенчался успехом, но файл ПОЯВЛЯЕТСЯ ВНОВЬ ОТКУДА o_O
- восстановление системы отключено
- Я также пытался завладеть всем чертовым приводом
- каждый раз, когда я удаляю файл, он воссоздает себя снова, но иногда перестает это делать
- если удалить файл (и после этого он воссоздается), а затем я запускаю sysinternals procmon, файл исчезнет.
- если я запускаю procmon раньше — то файл продолжает появляться после удаления, как всегда
ОС: W7 SP1 64-бит, с последними обновлениями какие идеи, пожалуйста? гугл мне не помог 🙁
- 1 Для меня простая перезагрузка устранила эту ошибку (аналогично ответу CodeMed ниже).
Включите службу «Опыт работы с приложением». Запустите окно консоли и введите
- http://support.microsoft.com/kb/902196
- Большое вам спасибо, я бы никогда не подумал об этом без вашей помощи!
- Спасибо так много, это сводило меня с ума
- 25 Windows 10 выдает ошибку: «Неверное имя службы»
- Как включить взаимодействие с приложением?
- 3 У меня сработало. Еще один нелепый взлом Windows. Microsoft должна заплатить Google изрядную сумму за поддержку своей ОС, иначе никто не сможет воспользоваться этой штукой.
Проблема, вероятно, в том, что вы забыли закрыть программу и вместо этого она работает в фоновом режиме.
Найдите окно консоли, в котором запущена программа exe-файла, и закройте его, щелкнув X в правом верхнем углу. Затем попробуйте перекомпилировать программу. В моем случае это решило проблему.
Я знаю, что эта публикация устарела, но я отвечаю за других людей вроде меня, которые находят ее через поисковые системы.
- 3 Это исправило это для меня. Я скажу, что мне пришлось искать процессы в диспетчере задач Windows, потому что окно консоли исчезло.
- Я не могу закрыть кнопкой X, есть ли другой способ . Один из способов, который я нашел, — это потерять вашу IDE, а затем она автоматически закроет окно подсказки.
- Win10 VS 2017. Завершение всего до тех пор, пока в диспетчере задач не осталось ничего значимого, не помогает, вместо этого мне приходится перезагружать компьютер. При завершении работы внезапно появляется диалоговое окно с ошибкой, которое немедленно закрывается, предположительно, это диалоговое окно необходимо закрыть, прежде чем отладчик сможет снова получить доступ к приложению, но диалоговое окно не появляется (до завершения работы). Возможно, этот процесс существовал в диспетчере задач, но с общим / бесполезным именем.
- 2 Добавляя к моему вышеупомянутому комментарию, Диспетчер задач не отображает процесс filename.exe, но монитор ресурсов отображает, поэтому я могу убить его оттуда, что решает проблему без перезагрузки.
- @CodeMed ой . вот почему я люблю StackOverflow
Перезапуск Visual Studio решил проблему для меня.
- 1 Мне действительно пришлось перезагрузить весь компьютер.
Я столкнулся с этой проблемой, когда сборка внезапно закрывается перед загрузкой. В диспетчере задач не будет отображаться ни один процесс, но если вы перейдете к исполняемому файлу, созданному в папке проекта, и попытаетесь удалить его, Windows заявит, что приложение уже используется. (Если нет, просто удалите файл и выполните повторную сборку, в результате чего будет создан новый исполняемый файл). В Windows (Visual Studio 2019) файл по умолчанию находится в этом каталоге:
Чтобы завершить предположительно запущенный процесс, откройте командную строку и введите следующую команду:
Это принудительно завершает любой запущенный экземпляр. Восстановите и выполните!
В моем случае очистка и перестройка проекта решили проблему.
ну, на самом деле я просто сохранил и закрыл проект и перезапустил VS Express 2013 в Windows 8, и это решило мою проблему.
- Привет, Спарш Джайн, в вопросе упоминалось, что "визуальная студия экспресс 2010"на"W7 SP1"использовалось. Более того, я не думаю, что ваш ответ не добавляет ничего, чего не охватили существующие ответы.
- Спасибо! Я сделал это с VS 2015 на Windows 10, и это мне помогло 🙂 Я думаю, что это самый простой способ решить эту проблему.
Причина в том, что ваша предыдущая сборка все еще работает в фоновом режиме. Я решаю эту проблему, выполнив следующие действия:
- Открыть диспетчер задач
- Перейти к вкладке сведений
- Найдите свое приложение
- Завершите задачу, щелкнув по ней правой кнопкой мыши
- Готово!
Это также может быть проблемой из-за неправильного использования таких функций, как FindNextFile, когда FindClose никогда не выполняется. Процесс созданного файла завершается, и саму сборку можно удалить, но LNK1168 предотвратит перестройку из-за открытого дескриптора. Это может создать утечку дескрипторов в проводнике, которую можно устранить, завершив и перезапустив проводник, но во многих случаях необходима немедленная перезагрузка.
Я знаю, что это старый вопрос, но подумал, что расскажу, как я решил проблему.
Если вы используете Visual Studio и возникает эта ошибка, вы можете попытаться подключиться к процессу (CTRL + ALT + P) и найти процесс «(программа) .exe». Когда вы попытаетесь подключиться к нему, отобразится сообщение об ошибке о том, что подключиться не удалось, что выводит процесс из «запущенного» (даже если это не так . ). Вы также сможете удалить (программу) .exe из ваша папка отладки.
Надеюсь, это кому-то поможет! 🙂
НАКОНЕЦ НАИЛУЧШИЙ СПОСОБ Сработал идеально для меня
Ни одно из решений на этой странице не помогло мне ЗА ИСКЛЮЧЕНИЕМ СЛЕДУЮЩЕГО
Под секциями комментариев ко второму ответу попробуйте следующее:
Добавляя к моему вышеупомянутому комментарию, Диспетчер задач не отображает процесс filename.exe, но Монитор ресурсов делает, поэтому я могу убить его оттуда, что решает проблему без перезагрузки. — A__ 19 июня '19 в 21:23
У меня тоже была такая же проблема. Мое окно консоли больше не было открыто, но я мог видеть, как работает мое приложение, перейдя к процессам в диспетчере задач. Имя процесса было именем моего приложения. Как только я закончил процесс, я смог без проблем собрать и скомпилировать свой код.
Запустите вашу программу как администратор. Программа не может перезаписать ваши файлы, потому что они находятся в защищенном месте на жестком диске.