link exe завершилась с кодом 1104
используя Visual Studio 2010, когда я создаю + запускаю свое приложение через короткие промежутки времени, я часто получаю следующую ошибку. Если я просто подожду минуту или две и попробую еще раз, все будет хорошо. Unlocker утверждает, что дескриптор не блокирует исполняемый файл.
как я могу узнать, что блокирует его?
если это сама Visual Studio, что я должен сделать, чтобы остановить его? или альтернативно освободить файл?
15 ответов
была эта проблема после переустановки сегодня. Убедитесь, что служба Application Experience запущена, а не отключена. Если его установить в руководство, я считаю, что VS запустит его.
У вас, вероятно, был случайный процесс сборки, который блокировал исполняемый файл, и он (случайный процесс) не очистился. В этом случае закройте visual studio, откройте Process explorer и уничтожьте все процессы, связанные с visual studio. Затем снова откройте visual studio и попробуйте перестроить проект.
Я знаю, что это довольно старый, но у меня была такая же проблема с Visual Studio 2010, все исправлено, поэтому другие могут все еще столкнуться с этим.
добавление моего пути проекта к «исключенным элементам» в моих настройках антивируса AVG, похоже, устранило проблему для меня.
попробуйте отключить любой антивирусный / резидентный щит и посмотреть, устраняет ли он проблему. Если это так, добавьте свой путь к проекту в исключенные каталоги в конфигурации AV.
возможно, вы не закрыли выход. Закройте выходные данные, очистите и восстановите файл. Вы сможете запустить файл.
Visual studio для создания новой сборки необходимо удалить предыдущий исполняемый файл и создать новый вместо старого, он не может сделать это, пока исполняемый файл все еще выполняется. Итак, если вы хотите сделать новую сборку, процесс старого исполняемого файла должен быть закрыт! (странно, что visual studio не закрывает его сам по себе, и да, это похоже на какую-то багги поведение.)
это утомительно делать вручную, поэтому вы можете просто файл bat и просто щелкнуть по нему, когда у вас есть такая проблема:
это работает для меня по крайней мере. Как предположение-я не закрываю свою программу должным образом на C++, поэтому, возможно, для visual studio нормально держать ее запущенной.
дополнение: Существует большой шанс быть таким, из-за не законченного применения. Проверьте, вызывали ли вы PostQuitMessage в конец, для того, чтобы дать знать окна, что вы сделали.
таким образом VS создает новый исполняемый файл, и проблема обрабатывается. Каждые несколько раз я сделайте это, я возвращаюсь к исходному имени, таким образом, циклически через
Если кто-то найдет причину и решение, Пожалуйста, ответьте и я могу двигаться в ответ на ваше, как мое решение.
У меня была такая же проблема, однако с использованием Codeblocks. Из-за этой проблемы я бросил программирование, потому что каждый раз я просто хотел выбросить свой компьютер из окна.
Я хочу поблагодарить user963228, чей ответ действительно является решением этой проблемы. Вы должны поместить Application Experience в ручной запуск(вы можете сделать это, выполнив поиск служб в меню Пуск windows 7, а затем найти Application Experience и нажмите «Свойства»).
эта проблема возникает, когда люди хотят tweak theyr windows 7 машина, и они решают отключить некоторые бессмысленные услуги, поэтому они google некоторые настройки руководства и большинство из этих руководств говорят, что опыт применения безопасно отключить.
чтобы добавить еще одно решение в список, я обнаружил, что Visual Studio (2012 в моем случае) иногда блокирует файлы под разными процессами.
Так, на аварии, команду devenv.exe может по-прежнему работать и удерживать файл(ы). В качестве альтернативы (как я только что обнаружил), vstestrunner или vstestdiscovery также могут удерживать файл.
убейте все эти процессы, и это может решить проблему.
мой новый процесс есть:
1) Отключите общую папку на виртуальной машине (Настройки | Параметры | общие папки-и снимите флажок) 2) Запустите сборку на хост-ПК 3) повторно включите общую папку (и продолжайте оттуда)
надеюсь, это может помочь кому-то еще.
ошибка возникает (по крайней мере, иногда) из слишком длинных путей. В моем проекте просто сокращение пути к выходному файлу делает работу: «Свойства / Свойства Конфигурации / Общий / Промежуточный Каталог»
кажется, что я попал в ограничение пути 250 символов.
в моем случае правильный маршрут был C:\Program файлы (x86)\Windows Kits\8.1\Lib\winv6.3 \ um\x86
Я не знаю, как установить этот маршрут внутри Visual Studio.
надеюсь, что это поможет вам люди.
У меня была та же проблема. Со мной exe все еще работал, но я не мог закончить его с помощью Диспетчера задач. Просто перезапустив VS, это сработало для меня.
мой заключается в том, что если вы установите опцию MASM listing file некоторый дополнительный выбор, это даст вам эту ошибку.
но любой дополнительный у вас есть проблема.
неустранимая ошибка LNK1104: не удается открыть файл ‘ kernel32.Либ’
Я не знаю, что еще сказать. Я только что загрузил этот компилятор вчера, и он работал нормально. Я хотел перейти с 32-битного программирования на 64-бит, чтобы я мог работа со сборкой, поэтому я загрузил это SDK. Я искал в Google и даже здесь, в Stackoverflow. Google не очень помог, но я нашел сообщение здесь это казалось похожим на мой, но ответы не сделали много справедливости. Кто-нибудь знает, почему эта ошибка происходит и как я могу избавиться от него?
13 ответов
убедитесь, что у вас есть в каталогах VC++ (щелкните правой кнопкой мыши проект, выберите страницу свойств),
но теперь вам нужно изменить эту настройку на #2, выше, вот так:
(Не пропустите » v7.0A » to » v7.- Перемены тоже.)
Я добавил следующий путь и ошибок::
C:\Program файлы (x86)\Microsoft SDKs\Windows\v7.1A \ Lib;
У меня была другая проблема в Windows 10 с Visual Studio 2017, но с теми же эффектами. Я думаю, что мои проблемы сводились к тому, что VS был установлен на диск, отличный от «C:\». Я решил проблему, переустановив Windows 10 SDK
сначала мне пришлось удалить Windows SDK (было установлено две версии). Затем запустил исполняемый файл. После установки запустите visual studio, и он работал нормально.
ОС: Win10, Visual Studio 2015
и восстановить его. Обратите внимание, что вы должны подключиться к интернету до завершения ремонта.
сегодня в Visual Studio 2017 у меня была та же проблема.
поскольку я не хочу менять один из» установленных » пакетных файлов. еще больше, поскольку этот пакетный файл вызывает еще один другой:
Примечание это воспроизводимо в визуальном Studio 2017 Enterprise 2017 версии 15.1 (26403.0) даже после успешного «ремонта» установки. при создании нового консольного приложения Visual C++ Win32 и попытке компиляции.
окружающая среда:
решение:
ошибка LNK1104
ошибка LNK1104
Выводит ошибку при сборке LNK1104.В выводе пишет » LINK : fatal error LNK1104: не удается.
Ошибка компиляции LNK1104
Не могу понять почему ошибка, ведь все библиотеки подключены(
Для студий до 2010 версии немного в другом месте пути задаются
http://lh3.ggpht.com/_lV8Tjg9J. /s0/01.png
ура! заработало спс Deviaphan это реально помогло. А почему в книге про это не упоминается даже, хотя она под VC++ написана.
Добавлено через 3 минуты
теперь смогу дальше двигаться, мне DirectX нужен чтобы нарисовать график функции 2-х пременных
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Visual studio ошибка 2 error lnk1104: не удается открыть файл ‘kernel32.lib’
Я удалил visual studio express, и установил visual studio profissional. И при сборке простой.
Ошибка LNK1104 не удается открыть файл «glew32.lib»
Подскажите как исправить ошибку LNK1104 не удается открыть файл «glew32.lib»
Ошибка при компановке программы «fatal error LNK1104»
Здравствуйте. Нужна помощь. Запускаю через qeditor, встроенный в masm32 файл winurl.asm командой.
Ошибка компоновки fatal error LNK1104: не удается открыть файл «kernel32.lib»
Скажыте пожалуста что делать, оооочень нужно. у меня выдает ошыбку: 1>LINK : fatal error.
Почему фатальная ошибка » LNK1104: не удается открыть файл ‘C:Program.obj ‘» возникают при компиляции проекта C++ в Visual Studio?
Я создал новый проект C++ в Visual Studio 2008. Код еще не написан, изменены только настройки проекта.
когда я компилирую проект, я получаю следующую фатальную ошибку:
фатальная ошибка LNK1104: не удается открыть файл ‘C:Program.obj’
19 ответов:
эта конкретная проблема вызвана указанием зависимости для файла lib, который имел пробелы в своем пути. Путь должен быть окружен кавычками для правильной компиляции проекта.
C:\Program файлы\программное обеспечение sdk\lib \ библиотека.Либ
» C:\Program файлы\программное обеспечение sdk\lib \ библиотека.lib»
где я добавил кавычки.
Это может произойти, если файл все еще работает.
:-1: ошибка: LNK1104: не удается открыть файл ‘ debug\****.exe’
проблема ушла для меня после закрытия и повторного открытия Visual Studio. Не знаю, почему возникла проблема, но это может быть стоит попробовать.
Это было на VS 2013 Ultimate, Windows 8.1.
У меня было то же самое problem.It вызвано символом», » в имени папки дополнительной библиотеки path.It решается путем изменения дополнительного пути к библиотеке.
в моем случае это был вопрос неправильной ссылки. Проект ссылался на вывод другого проекта, но последний не выводил файл, где первый искал.
Я сталкиваюсь с той же проблемой, когда компоновщик жалуется на отсутствие основного исполняемого файла. Это произошло во время нашего порта решения для нового Visual Studio 2013. Решение представляет собой разнообразное сочетание управляемых и неуправляемых проектов / кода. Проблема (и исправить) в конечном итоге отсутствует приложение.конфигурации файл в папке решения. Потребовался день, чтобы понять это: (, поскольку выходной журнал был не очень полезен.
определенно сбивает с толку сообщение об ошибке в этом случае, так как имя заголовка но ошибка дала мне «cannot open file ‘llibboost_filesystem-vc140-mt-gd-1_59.lib'» и никаких номеров строк или чего-то еще.
Я отвечаю, потому что я не вижу это конкретное решение, перечисленное кем-либо еще.
по-видимому, мой антивирус (Ad-Aware) отмечал DLL, от которой зависит один из моих проектов, и удалял его. Даже после исключения каталога, где живет DLL, то же самое поведение продолжалось до тех пор, пока я не перезагрузил компьютер.
Решение 1 (для моего случая): перезапустите процесс Проводника windows (да, диспетчер файлов windows).
в моем случае Я заменил файлы математической библиотеки из предыдущего графического курса игрового движка на GLM. Проблема заключалась в том, что я не добавил их в проект в обозревателе решений Visual Studio (даже если они были в репозитории проекта).
У меня была эта проблема в сочетании с ошибкой LNK2038, а затем это post для разделения библиотеки DLL выпуска и отладки. В этом процессе я очистил всю папку, в которой находились эти зависимости.
к счастью, у меня была резервная копия всех этих файлов, и я получил файл, для которого эта ошибка отбрасывала обратно в папку отладки, чтобы решить проблему. Код ошибки вводил в заблуждение каким-то образом, поскольку мне пришлось потратить много времени, чтобы прийти к этому совету от одного из ответов с этого поста снова.
надеюсь, что этот ответ, помогает кому-то в нужде.
Я решил это с помощью добавлять an существующий проектto мой решение, который я забыл добавить в первый раз.
Это было вызвано ; в конце. Если у вас есть несколько библиотек, они должны быть разделены пустым пространством (пробел), без запятой или точки с запятой!
Так что не используйте ; или что-нибудь еще при перечислении библиотек в свойства проекта > > свойства конфигурации > > Компоновщик > > ввод
Ошибка средств компоновщика LNK1104
Эта ошибка возникает, когда компоновщику не удается открыть файл для чтения или записи. Ниже перечислены две наиболее распространенные причины этой проблемы.
Программа уже запущена или загружена в отладчике, и
пути к библиотеке неверны или не заключены в двойные кавычки.
Существует множество других возможных причин этой ошибки. Чтобы сократить их, сначала проверьте Тип файла. Затем используйте следующие разделы для выявления и исправления конкретной проблемы.
Не удается открыть приложение или его PDB-файл
Приложение выполняется или загружается в отладчике
Если filename — имя исполняемого файла или связанный с ним PDB-файл, см. раздел Если приложение уже запущено. Затем проверьте, загружен ли он в отладчик. Чтобы устранить эту проблему, перед повторным созданием программы закройте программу и выгрузите ее из отладчика. Если приложение открыто в другой программе, например в редакторе ресурсов, закройте его. Если программа не отвечает, может потребоваться завершить процесс с помощью диспетчера задач. Также может потребоваться закрыть и перезапустить Visual Studio.
Приложение заблокировано антивирусным сканированием
Не удается открыть файл библиотеки Майкрософт
Windows библиотеки, например kernel32. lib
Если файл, который не удается открыть, является одним из стандартных файлов библиотеки, предоставляемых корпорацией Майкрософт, например kernel32. lib, может возникнуть ошибка конфигурации проекта или ошибка установки. убедитесь, что Windows SDK установлен. если для проекта требуются другие библиотеки майкрософт, такие как MFC, убедитесь, что компоненты MFC также установлены установщиком Visual Studio. Вы можете снова запустить установщик, чтобы добавить дополнительные компоненты в любое время. Дополнительные сведения см. в Изменение Visual Studio. Используйте вкладку отдельные компоненты в установщике, чтобы выбрать конкретные библиотеки и пакеты SDK.
Библиотеки vcruntime с отслеживанием версий
Если сообщение об ошибке имеет версию библиотеки Microsoft, например msvcr120. lib, набор инструментов платформы для этой версии компилятора может быть не установлен. Чтобы устранить эту проблему, воспользуйтесь двумя способами: Обновите проект, чтобы использовать текущий набор инструментов платформы, или установите старый набор инструментов и выполните сборку проекта без изменений. дополнительные сведения см. в статьях обновление проектов из более ранних версий Visual C++ и использование собственного многоплатформенного нацеливания в Visual Studio для создания старых проектов.
Библиотеки для розничной торговли, отладки или конкретной платформы
Библиотека vccorlib. lib
Библиотеки в проектах из сетевых или других источников
обновленные библиотеки Windows SDK
эта ошибка может возникать, если Visual Studio путь к Windows SDK устарел. это может произойти, если установить более новую Windows SDK независимо от установщика Visual Studio. чтобы исправить это в интегрированной среде разработки, обновите пути, указанные на странице свойств VC++ каталоги. Задайте версию в пути в соответствии с новым пакетом SDK. При использовании Командная строка разработчика обновите пакетный файл, который инициализирует переменные среды с помощью новых путей пакета SDK. эту проблему можно избежать с помощью установщика Visual Studio для установки обновленных пакетов sdk.
Не удается открыть сторонний файл библиотеки
Существует несколько распространенных причин этой проблемы.
Путь к файлу библиотеки может быть неверным или не заключен в двойные кавычки. Или, возможно, вы не указали его для компоновщика.
Возможно, вы установили 32-разрядную версию библиотеки, но при этом собираетесь на 64 бит или наоборот.
Библиотека может зависеть от других библиотек, которые не установлены.
Чтобы исправить ошибку пути для сборок из командной строки, убедитесь, что задана переменная среды LIB. Убедитесь, что он содержит пути для всех используемых библиотек и для каждой создаваемой конфигурации. в интегрированной среде разработки пути к библиотеке задаются > свойством каталоги библиотеки VC++ directory. Убедитесь, что в каждой создаваемой конфигурации указаны все каталоги, содержащие нужные библиотеки.
Не удается открыть файл, созданный проектом
Эта ошибка может возникать, если файл filename еще не существует, когда компоновщик пытается получить к нему доступ. Это может произойти, когда один проект зависит от другого в решении, но проекты создаются в неправильном порядке. Чтобы устранить эту проблему, убедитесь, что ссылки проекта заданы в проекте, который использует этот файл. После этого отсутствующий файл будет создан до того, как он потребуется. дополнительные сведения см. в статьях добавление ссылок в проекты Visual Studio C++ и управление ссылками в проекте.
Не удается открыть файл «C: \ Program. obj»
Чтобы устранить эту проблему в интегрированной среде разработки, при необходимости добавьте двойные кавычки для следующих свойств проекта:
свойство каталоги библиотеки на странице свойства конфигурации > свойства каталоги VC++
Свойство Дополнительные каталоги библиотек на странице свойств конфигурации > компоновщик > общие
Свойство Дополнительные зависимости на странице свойств конфигурации > компоновщик > входные свойства.
Другие распространенные проблемы
Проблемы с путями или именами файлов
Эта ошибка может возникать, если имя файла библиотеки или путь, указанный для компоновщика, неверны. Или, если путь содержит недопустимую спецификацию диска. Проверьте командную строку или любую директиву #pragma Comment (lib, «library_name») на предмет проблем. Проверьте правильность написания и расширение файла и убедитесь, что файл существует в указанном расположении.
Параллельная синхронизация сборок
если вы используете параллельный вариант сборки, Visual Studio мог заблокировать файл в другом потоке. Чтобы устранить эту проблему, убедитесь, что один и тот же объект кода или библиотека не встроены в несколько проектов. Используйте зависимости сборки или ссылки проекта, чтобы выбрать в проекте созданные двоичные файлы.
Дополнительные зависимости, указанные в интегрированной среде разработки
Слишком длинные пути
Эта ошибка может появиться, когда путь к файлу расширяется до 260 символов. При необходимости измените структуру каталогов или Сократите имена папок и файлов, чтобы сократить пути.
Слишком большие файлы
Эта ошибка может возникать из-за слишком большого размера файла. Библиотеки или объектные файлы, размер которых превышает гигабайт, может вызвать проблемы для 32-разрядного компоновщика. Возможным исправлением этой проблемы является использование 64-разрядного набора инструментов. Дополнительные сведения о том, как использовать 64-разрядный набор средств в командной строке, см. в разделе как включить 64-разрядный Visual C++ набор инструментов в командной строке. сведения о том, как использовать 64-разрядный набор инструментов в интегрированной среде разработки, см. в разделе использование MSBuild с 64-разрядным компилятором и инструментами. также см. статью Stack Overflow post: как сделать Visual Studio использовать собственную цепочки инструментов amd64.
Неправильные разрешения для файла
Эта ошибка может возникать, если у вас недостаточно разрешений для доступа к файлу filename. Это может произойти, если для доступа к файлам библиотеки в защищенных системных каталогах используется обычная учетная запись пользователя. Или, если вы используете файлы, скопированные с других пользователей, у которых все еще есть исходный набор разрешений. Чтобы устранить эту проблему, переместите файл в каталог проекта с возможностью записи. Если перемещенный файл имеет недоступные разрешения, выполните команду takeown.exe в окне командной строки администратора, чтобы стать владельцем файла.
Недостаточно места на диске
Проблемы в переменной среды TMP
Если имя файла LNK nnn, то это имя файла, созданного компоновщиком для временного файла. Каталог, указанный в переменной среды TMP, может не существовать. Кроме того, для переменной среды TMP может быть задано несколько каталогов. Для переменной среды TMP должен быть указан только один путь к каталогу.
Справка, моей проблемы нет в списке!
Если вы обнаружили новый способ устранения этой проблемы, которую следует добавить в эту статью, сообщите нам о ней. Вы можете отправить нам отзыв, нажав кнопку ниже для этой страницы. используйте его для создания новой проблемы в документации по C++ GitHub репозитории. Спасибо!