Вы не можете прочитать файл filename.exe, если ошибка строки состояния подавления файла lnk1168 не может быть открыта

У меня есть проект qt, но если я редактирую свой код, создатель Qt выдает эту ошибку

:-1: error: LNK1168: cannot open debug\GettingStarted.exe for writing

Я не могу даже удалить папку отладки (то есть как администратор). Я должен выйти и затем вернуться. В чем проблема и как я могу ее решить?

[goo_ads]

4

[tags]

У меня есть библиотека, которая использует Intel Composer XE 2013, и я хотел бы скомпилировать ее как .lib, так как собираюсь использовать ее с другим проектом (по умолчанию она компилируется как application / EXE). Тем не менее, когда я устанавливаю тип конфигурации в Project Defaults в Configuration Manager в Visual Studio 2012, я получаю сообщение об ошибке «LNK1181: не удается открыть входной файл». Странно, что файл, который он ищет, не имеет конца файла. Проект содержит как C, C ++, так и ASM-код. У кого-нибудь есть опыт с таким поведением?

[goo_ads]

2

[tags]

Иногда, когда я пытаюсь скомпилировать свой проект, VisualStudio показывает мне эту ошибку:

1> ССЫЛКА: фатальная ошибка LNK1168: невозможно открыть C: \ Path \ myfile.exe для записи

И это не позволило мне скомпилировать проект.

Кажется, что myfile.exe еще открыт и работает в фоновом режиме, хотя я его закрыл. Я открыл Win TaskManager, но файл не отображается в списке запущенных процессов.

Эта ошибка сохраняется, и единственное решение, которое я нашел, – это перезагрузить систему, но это утомительный способ, который сводит меня с ума, потому что эта ошибка часто повторяется.

Есть идеи по ее устранению? У кого-то раньше была такая же ошибка?

Внезапно мой Visual Studio Express 2010 C ++ перестал перестраивать мой проект. Когда я впервые нажимаю F7, проект строится и работает нормально (черт возьми, это привет, мир).

Затем я вношу некоторые изменения и снова нажимаю F7, после чего получаю:

1>LINK : fatal error LNK1168: cannot open C:\Users\username\Documents\Visual Studio 2010\Projects\console\Debug\console.exe for writing**<br><br>

А теперь самое смешное:

  1. Приложение не запущено и не отображается в диспетчере задач.
  2. Попытка зайти в каталог проекта и попытаться удалить его руками увенчалась успехом, но файл ПОЯВЛЯЕТСЯ ВНОВЬ ОТКУДА.
  3. Восстановление системы отключено.
  4. Я также пытался завладеть всем чертовым приводом.
  5. Каждый раз, когда я удаляю файл, он воссоздается заново, но иногда перестает это делать.
  6. Если я удалю файл (и после этого он воссоздается), а затем запустил sysinternals procmon, файл исчезнет.
  7. Если я запускаю procmon раньше – то файл продолжает появляться после удаления, как всегда.

ОС: W7 SP1 64-бит, с последними обновлениями

Есть идеи, пожалуйста?

Теперь приходит забавная вещь:

  1. приложение не запущено и это не показано в диспетчере задач.
  2. зайдя в каталог проекта и пытаясь удалить его руками приходит с успехом, но файл появляется снова из ниоткуда o_O
  3. восстановление системы отключено
  4. я также пытался взять на себя ответственность за весь чертов диск
  5. каждый раз, когда я удаляю файл, он воссоздает себя снова, но иногда он перестает это делать
  6. если удалить файл (и он воссоздается после этого), а затем я запустите Sysinternals procmon, затем файл исчезнет.
  7. если я начну procmon до – то файл продолжает появляться после удаления, как всегда
Читайте также:  Код ошибки 0x80072efd при активации windows 10

OS: W7 SP1 64-бит, с последними обновлениями
есть идеи, пожалуйста? google мне не помог: (

8 ответов



проблема наверное в том, что вы забыли закрыть программу и вместо вас программа работает в фоновом режиме.

найдите окно консоли, в котором запущена программа exe-файла, и закройте его, щелкнув X в правом верхнем углу. Затем попробуйте перекомпилировать программу. В моем случае это решило проблему.

Я знаю, что это сообщение старое, но я отвечаю за других людей, таких как я, которые находят это через поисковые системы.


перезапуск Visual Studio решил проблему для меня.


в моем случае очистка и восстановление проекта решили проблему.


ну, я на самом деле просто сохранил и закрыл проект и перезапустил VS Express 2013 в windows 8, и это отсортировало мою проблему.


Это также может быть проблемой из-за неправильного использования функций, таких как FindNextFile, когда FindClose никогда не выполняется. Процесс построенного файла завершается, и сама сборка может быть удалена, но LNK1168 предотвратит перестроение из-за открытого дескриптора. Это может создать утечку дескриптора в Проводнике, которая может быть устранена путем завершения и перезапуска проводника,но во многих случаях необходима немедленная перезагрузка.


У меня также была эта же проблема. Окно консоли больше не было открыто, но я мог видеть, как работает мое приложение, перейдя к процессам в диспетчере задач. Имя процесса было именем моего приложения. Как только я закончил процесс, я смог построить и скомпилировать свой код без проблем.


запустите программу как администратор, он не может переписать ваши файлы, потому что ваши файлы находятся в защищенном месте на вашем диске.


2 ответа

Лучший ответ

У меня уже много раз возникала эта ошибка. Хотя ваш myfile.exe не отображается в TaskManager, он еще присутствует в фоновом режиме. Если вы откроете cmd как администратор и наберете:

Вы можете увидеть, как работает ваш процесс.

Итак, теперь введите команду:

taskkill / IM myfile.exe / F

Чтобы заставить процесс убить.

Теперь, если вы снова попытаетесь скомпилировать свой проект, вы увидите, что с компилятором все в порядке, и ошибка устранена.

Конечно, возможно, что эта ошибка повторится снова, поэтому я предлагаю вам создать файл .bat, который запускает команду kill, чтобы вы могли быстро решить проблему.


0

LolloAAA
22 Ноя 2020 в 15:54

Читайте также:  VK-Spam-Master

Касательно: LNK1168

У Microsoft есть веб-страница, посвященная этой ошибке:

LNK1168

Первое, что находится на связанной странице:

The linker can’t write to filename.

Остальная часть страницы обсуждает детали того, почему компоновщик не может записывать в файл.


0

user3629249
24 Ноя 2020 в 01:23

12 ответов

Лучший ответ

Запустите вашу программу как администратор. Программа не может перезаписать ваши файлы, потому что они находятся в защищенном месте на жестком диске.


-4

Joonatan Ritalahti
17 Мар 2020 в 12:44

У меня тоже была такая же проблема. Мое окно консоли больше не было открыто, но я мог видеть, как работает мое приложение, перейдя к процессам в диспетчере задач. Имя процесса было именем моего приложения. Как только я закончил процесс, я смог без проблем собрать и скомпилировать свой код.


-1

Jason
12 Сен 2013 в 23:54

НАКОНЕЦ НАИЛУЧШИЙ СПОСОБ Сработал ИДЕАЛЬНО ДЛЯ МЕНЯ

Ни одно из решений на этой странице не помогло мне ЗА ИСКЛЮЧЕНИЕМ СЛЕДУЮЩЕГО

Под разделами комментариев ко второму ответу попробуйте следующее:

Добавляя к моему вышеупомянутому комментарию, Диспетчер задач не отображает filename.exe, но Монитор ресурсов , поэтому я могу убейте его оттуда, что решит проблему без перезагрузки. – A__ 19 июн.


0

passionateProgrammer
14 Авг 2020 в 14:32

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

Если вы используете Visual Studio и возникает эта ошибка, вы можете попытаться подключиться к процессу (CTRL + ALT + P) и найти процесс «(программа) .exe». Когда вы попытаетесь подключиться к нему, отобразится сообщение об ошибке о том, что подключиться не удалось, что удаляет процесс из «запущенного» (даже если это не так …). Вы также сможете удалить (программу) .exe из ваша папка отладки.

Надеюсь, это поможет кому-то! 🙂


0

tw1tch01
4 Окт 2019 в 05:25

Это также может быть проблемой из-за неправильного использования таких функций, как FindNextFile, когда FindClose никогда не выполняется. Процесс созданного файла завершается, и саму сборку можно удалить, но LNK1168 предотвратит перестройку из-за открытого дескриптора. Это может вызвать утечку дескрипторов в проводнике, которую можно устранить, завершив и перезапустив проводник, но во многих случаях необходима немедленная перезагрузка.


0

Laurie Stearn
9 Окт 2015 в 02:44

Причина в том, что ваша предыдущая сборка все еще работает в фоновом режиме. Я решаю эту проблему, выполнив следующие действия:

  • Открыть диспетчер задач
  • Перейти к вкладке “Сведения”
  • Найдите свое приложение
  • Завершите задачу, щелкнув по ней правой кнопкой мыши
  • Выполнено!


1

back2Lobby
10 Авг 2020 в 11:59

Ну, на самом деле я просто сохранил и закрыл проект и перезапустил VS Express 2013 в Windows 8, и это решило мою проблему.


1

Sparsh Jain
8 Апр 2015 в 17:50

Читайте также:  General auhg18lvlb коды ошибок

В моем случае очистка и перестройка проекта решили проблему.


4

Uli Köhler
2 Мар 2014 в 15:54

Я столкнулся с этой проблемой, когда сборка внезапно закрывается перед загрузкой. В диспетчере задач не будет отображаться ни один процесс, но если вы перейдете к исполняемому файлу, созданному в папке проекта, и попытаетесь его удалить, Windows заявит, что приложение уже используется. (Если нет, просто удалите файл и выполните повторную сборку, в результате чего будет создан новый исполняемый файл). В Windows (Visual Studio 2019) файл по умолчанию находится в этом каталоге:

%USERPROFILE%\source\repos\ProjectFolderName\Debug

Чтобы завершить предположительно запущенный процесс, откройте командную строку и введите следующую команду:

taskkill /F /IM ApplicationName.exe

Это принудительно завершает любой запущенный экземпляр. Восстановите и выполните!


12

Amal K
27 Фев 2021 в 09:31

Перезапуск Visual Studio решил проблему для меня.


12

Aleksei Mialkin
7 Янв 2017 в 18:15

Проблема, вероятно, в том, что вы забыли закрыть программу и вместо этого она работает в фоновом режиме.

Найдите окно консоли, в котором запущена программа с файлом exe, и закройте его, щелкнув X в правом верхнем углу. Затем попробуйте перекомпилировать программу. В моем случае это решило проблему.

Я знаю, что эта публикация устарела, но я отвечаю за других людей вроде меня, которые находят ее через поисковые системы.


68

CodeMed
6 Июл 2013 в 06:53

Решение

Некоторые распространенные причины ошибки LNK1181:

  • имя файла указывается как дополнительная зависимость от компоновщика
    строка, но файл не существует.
  • Оператор A / LIBPATH, который определяет каталог, содержащий имя файла
    пропал, отсутствует.

Чтобы решить вышеуказанные проблемы, убедитесь, что все файлы, на которые есть ссылки в строке компоновщика, присутствуют в системе.

Используйте параметр / LIBPATH, чтобы переопределить путь к библиотеке среды. Компоновщик сначала выполняет поиск по пути, указанному в этом параметре, а затем выполняет поиск по пути, указанному в переменной среды LIB. Вы можете указать только один каталог для каждого параметра / LIBPATH, который вы вводите. Если вы хотите указать более одного каталога, вы должны указать несколько параметров / LIBPATH. Затем компоновщик будет искать в указанных каталогах по порядку.

Чтобы установить этот параметр компоновщика в среде разработки Visual Studio

  1. Откройте диалоговое окно страниц свойств проекта.
  2. Нажмите на папку Linker.
  3. Нажмите на страницу свойств General.
  4. Измените свойство «Дополнительные каталоги библиотек».

Если это не поможет, вы можете просмотреть эти ссылки:

  • Получение фатальной ошибки LNK1181: не удается открыть входной файл
  • Появляется сообщение об ошибке «Неустранимая ошибка LNK1181» при создании
    Управляемое приложение C ++
  • Visual Studio: ССЫЛКА: фатальная ошибка LNK1181: не удается открыть ввод
    файл

2

Решение

  1. Перейти к диспетчеру задач ctrl+alt+del,
  2. поищите название вашего запущенного приложения в вашем случае GettingStarted.exe,
  3. Вернитесь к своему коду и снова запустите приложение

3

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *