lnk1104 c как исправить
ошибка 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.
используя 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: не удается открыть файл ‘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: невозможно открыть файл ‘libboost_system-vc110-mt-gd-1_51.lib’
фатальная ошибка LNK1104: невозможно открыть файл ‘libboost_system-vc110-mt-gd-1_51.lib’
Если я посмотрю в (boost_root)/stage/libs файл libboost_system-vc110-mt-gd-1_51.lib не там. Это называется libboost_system-vc110-mt-sgd-1_51.lib вместо.
Решение
C ++ → Общие → Дополнительные каталоги включения Параметр для перечисления каталогов, где компилятор будет искать файлы заголовков.
Вы должны указать компоновщику, где искать библиотеки для ссылок. Чтобы получить доступ к этому параметру, щелкните правой кнопкой мыши имя проекта в Обозреватель решений окно, то Свойства → Линкер → Общие → Дополнительные каталоги библиотек. Войти \stage\lib здесь (это путь, где расположены библиотеки, если вы построить Boost используя параметры по умолчанию).
Другие решения
Это самый простой способ для такого любителя, как я, который изучает C ++ самостоятельно:
Затем перейдите в библиотеку ссылок, где у вас возникли проблемы.
И тебе хорошо идти!
У меня такая же проблема. Это было вызвано тем, что я скомпилировал Boost с Visual C ++ 2010 (v100) и попытался по ошибке использовать библиотеку с Visual Studio 2012 (v110).
У меня была та же проблема, и моя ошибка заключалась в том, что я установил двоичный файл boost_1_55_0-msvc-11.0-32.exe для использования с Visual C ++ 2010, который имеет версию v100 (свойства проекта-> ConfiguratioProperties-> General-> platformTooset), а не v110 как Visual C ++ 2012. Поэтому я загрузил boost_1_55_0-msvc-10.0-32.exe и теперь все в порядке.
Я был озадачен, потому что я включал boost_regex-vc120-mt-gd-1_58.lib в свойстве Link-> Additional Dependencies, но ссылка продолжала говорить мне, что он не может открыть libboost_regex-vc120-mt-gd-1_58.lib ( обратите внимание на префикс lib). Я не указал libboost_regex-vc120-mt-gd-1_58.lib.
Я пытался использовать (и создал) динамические динамические библиотеки (.dll), но не определил макрос BOOST_ALL_DYN_LINK. По-видимому, в компиляции есть подсказки для включения библиотеки, и без BOOST_ALL_DYN_LINK она ищет статическую библиотеку (с префиксом lib), а не динамическую библиотеку (без префикса lib).
У меня была похожая проблема при попытке использовать ускоренное юнит тестирование в Visual Studio 2015 (Community Edition):
фатальная ошибка LNK1104: libboost_unit_test_framework-vc140-mt-1_57
поэтому я решил поделиться своим решением.
Вы можете создать проект буст-юнит-тестирования одним из двух способов (и это решение работает для обоих):
Вот шаги, которые я выполнил, чтобы заставить оба проекта работать:
Сначала загрузите нужную версию надстройки (например, boost_1_57_0 ). Вы можете скачать boost с правильными двоичными файлами (скомпилированными с помощью msvc v140) или извлечь двоичные файлы самостоятельно, выполнив следующие команды из командной строки:
куда MSVC-14,0 указывает, что нам требуется версия Visual Studio 2015 (VS 2015 = v14.0 = v140), и адрес-модель = 32 указывает, что нам требуется платформа 32 (но то же самое можно сделать для 64-битной).
Получив двоичные файлы, перейдите в Visual Studio и выберите созданный вами проект Boost Unit Testing. Идти к Свойства проекта> Конфигурация (из главного меню) и сделайте следующие выборы:
Установить «Общие> Набор инструментов платформы«Visual Studio 2015 (v140).
Включите путь к папке Boost (например, C: \ boost_1_57_0) и путь к подпапке, содержащей двоичные файлы (например, C: \ boost_1_57_0 \ stage \ lib) в:
Why does fatal error «LNK1104: cannot open file ‘C:\Program.obj'» occur when I compile a C++ project in Visual Studio?
I’ve created a new C++ project in Visual Studio 2008. No code has been written yet; Only project settings have been changed.
When I compile the project, I receive the following fatal error:
fatal error LNK1104: cannot open file ‘C:\Program.obj’
27 Answers 27
This particular issue is caused by specifying a dependency to a lib file that had spaces in its path. The path needs to be surrounded by quotes for the project to compile correctly.
C:\Program Files\sofware sdk\lib\library.lib
» C:\Program Files\sofware sdk\lib\library.lib»
Where I added the quotes.
This can happen if the file is still running as well.
:-1: error: LNK1104: cannot open file ‘debug\****.exe’
The problem went away for me after closing and re-opening Visual Studio. Not sure why the problem happened, but that might be worth a shot.
This was on VS 2013 Ultimate, Windows 8.1.
I had the same problem.It caused by a «,» in the name of a folder of additional library path.It solved by changing the additional library path.
In my case it was a matter of a mis-directed reference. Project referenced the output of another project but the latter did not output the file where the former was looking for.
Solution 1 (for my case): restart windows Explorer process (yes, the windows file manager).
I presume sometimes the file system or whoever is controlling it gets lost with its permissions. Before restarting the windows session, tried to kill zombie msbuild32.exe processes, restart visual studio, check none even showing the problem file on. No build configuration issues. It happens now and then. Some internal thing in Windows does not fix up, needs a restart.
Definitely a confusing error message in this case, since the header name was but the error gave me «cannot open file ‘llibboost_filesystem-vc140-mt-gd-1_59.lib'» and no line numbers or anything.