Lnk1104 не удается открыть файл glfw3 lib

Обновлено: 03.07.2024

Я создал новый проект C++ в Visual Studio 2008. Код еще не написан, изменены только настройки проекта.

когда я компилирую проект, я получаю следующую фатальную ошибку:

фатальная ошибка LNK1104: не удается открыть файл 'C:Program.obj'

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

на Свойства Конфигурации -> Компоновщик -> Ввод вкладка свойств проекта, есть Дополнительные Зависимости собственность. Эта проблема была исправлена путем изменения этого свойства:

C:\Program файлы\программное обеспечение sdk\lib \ библиотека.Либ

" C:\Program файлы\программное обеспечение sdk\lib \ библиотека.lib"

где я добавил кавычки.

Это может произойти, если файл все еще работает.

:-1: ошибка: LNK1104: не удается открыть файл ' debug\****.exe'

проблема ушла для меня после закрытия и повторного открытия Visual Studio. Не знаю, почему возникла проблема, но это может быть стоит попробовать.

Это было на VS 2013 Ultimate, Windows 8.1.

проверьте также, что вы не включили это: свойства конфигурации -> C / C++ - > препроцессор -> предварительная обработка файла.

У меня было то же самое problem.It вызвано символом", " в имени папки дополнительной библиотеки path.It решается путем изменения дополнительного пути к библиотеке.

моя проблема была отсутствует .lib расширение, я просто связывал против mylib и ВС решил искать mylib.obj .

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

для сборки проекта (название проекта -> построение зависимостей -> сборки настройки -> компилятор MASM (некоторые)), задание Создать Предварительно Обработанный Список Источников до True вызвал проблему и для меня, очистив настройку, исправил ее. VS2013 здесь.

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

по-видимому, мой антивирус (Ad-Aware) отмечал DLL, от которой зависит один из моих проектов, и удалял его. Даже после исключения каталога, где живет DLL, то же самое поведение продолжалось до тех пор, пока я не перезагрузил компьютер.

fatal error LNK1104: не удается открыть файл "GLFW.lib"
GLFW.lib не существует в качаемой папке только 3 файла.
glfw-3.3.2.bin.WIN64/lib-vc2012/glfw3.dll glfw3.lib glfw3dll.lib
Может нужен другой минимальный код запуска пустого окна? Может это баг?

Visual studio 2012 windows 7 64 bit

=== glfw3
Из папки
. \ glfw-3.3.2.bin.WIN64\lib-vc2012
Скопировал в
..\Microsoft Visual Studio 11.0\VC\lib\glfw3.lib
..\Microsoft Visual Studio 11.0\VC\lib\glfw3dll.lib
C:\Windows\System32\ glfw3.dll
=== glfw3

=== glew
. \glew-2.1.0\lib\Release\x64\glew32.lib
. \glew-2.1.0\lib\Release\x64\glew32s.lib
Скопировал в
..\Microsoft Visual Studio 11.0\VC\lib\ glew32.lib
..\Microsoft Visual Studio 11.0\VC\lib\ glew32s.lib

..\Microsoft Visual Studio 11.0\VC\include\GL\eglew.h
..\Microsoft Visual Studio 11.0\VC\include\GL\glew.h
..\Microsoft Visual Studio 11.0\VC\include\GL\glxew.h
..\Microsoft Visual Studio 11.0\VC\include\GL\wglew.h

C:\Windows\System32\glew32.dll
C:\Windows\System32\ glewinfo.exe
C:\Windows\System32\ visualinfo.exe
=== glew


=== glad
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\glad\ glad.h
..\Microsoft Visual Studio 11.0\VC\include\KHR\khrplatform.h
..\Microsoft Visual Studio 11.0\VC\src\glad.c
=== glad

Добавлено через 12 минут
..Microsoft Visual Studio 11.0\VC\include\GLFW\glfw3.h
..Microsoft Visual Studio 11.0\VC\include\GLFW\ glfw3native.h


Error LNK1104: не удается открыть файл "glaux.lib"
у меня Microsoft Visual Studio 2012 а проект делали на Microsoft Visual Studio 2013 или 2015 но не.


Fatal error LNK1104: не удаётся открыть файл "glaux.lib"
Помогите заблудившемуся в дебрях Си++, а тем более в его сложном(как по мне) разделе WinAPI.


GLFW + Npp -> NppExec. Не могу Слинковать GLFW
Здравствуйте! У меня не получается слинковать GLFW. Оно вроде как компилируется, так как ошибки.

glClearColor(0.2f, 0.3f, 0.3f, 1.0f); стоит вынести за пределы цикла, смысл менять цвет каждый раз?
А зачем сразу и glew и glad и еще 2 версии glfw подключать, помимо glu32.lib?
копировать библиотеки во внутренности студии так себе практика
для создания пустого окна хватит glad + glfw а так же двух либ opengl32.lib и glfw3.lib, с dll в названии на сколько понимаю нужна для динамической сборки, когда потребуется и dll
обычно все библиотеки указываются в настройках проекта

А зачем сразу и glew и glad и еще 2 версии glfw подключать, помимо glu32.lib? Для начала нужно пустое окно с минимум кода запустить.
Есть минимальный код проворящий по библиотекам где сбой? Для начала нужно пустое окно с минимум кода запустить. попробуйте создать и настроить проект как по ссылке выше, после этого будет собираться и без строчек pragma comment попробуйте создать и настроить проект как по ссылке выше,

В папке появился по идее кривой glfw3.lib
..\glfw-3.3.2\build\src\Debug\glfw3.lib

На сайте glad выбрал gl 2.1 core вместо 3.3 core т.к. пишет что поддерживает в отчете glewinfo.exe GL_VERSION_2_1: OK и cpu-z пишет opengl 2.1 скорей всего это баг обеих прог либо одна фича не идет и обе проги считают не поддерживает весь стандарт, детальный отчет glewinfo.exe показывает тянет даже до половины GL_VERSION_3_1:
GL_VERSION_3_1: MISSING
---------------
glDrawArraysInstanced: OK
glDrawElementsInstanced: OK
glPrimitiveRestartIndex: MISSING
glTexBuffer: MISSING

Наверно эксперты могут набирать на сайте технологий которые можно юзать. Не знаю что такое gles1 gles2 gles3. Походу первый раз я забыл добавить все технологии
новый файл в 8 раз больше

Я создал новый проект на C ++ в Visual Studio 2008. Код еще не написан; Изменились только настройки проекта.

Когда я компилирую проект, я получаю следующую фатальную ошибку:

фатальная ошибка LNK1104: невозможно открыть файл 'C: \ Program.obj'

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

На вкладке Configuration Properties -> Linker -> Input свойств проекта есть свойство Additional Dependencies . Эта проблема была устранена путем изменения этого свойства с:

C: \ Program Files \ software sdk \ lib \ library.lib

"C: \ Program Files \ sofware sdk \ lib \ library.lib"

Где я добавил цитаты.

Боже, ты только что повесил двухдневную погоню за ошибками на 30- У меня такая же проблема. Если ваш компоновщик правильный, но каталог lib установлен неправильно, может возникнуть та же ошибка. Попробуйте заглянуть в Свойства конфигурации -> Каталоги VC ++ -> Каталоги библиотек, чтобы убедиться, что вы правильно установили библиотеку. Иногда папка lib состоит из папок x86 и x64. Вы должны установить его на один из них (в зависимости от вашего компилятора), а не на папку, содержащую оба. Не забудьте поставить точку с запятой после "C:\Program Files\sofware sdk\lib\library.lib" . Отсутствие a ; также приведет к неправильной компиляции проекта. Была эта проблема при попытке создать OpenCV с помощью Visual Studio 2005 (в Windows 8.1) . и она ее решила. Большой! Я попробовал, но у меня ничего не вышло. "Qt5Xmld.lib"; "Qt5XmlPatternsd.lib"; "Qt5Cored.lib";% (AdditionalDependencies) -Что мне изменить?

Это может произойти, если файл все еще работает.

: -1: ошибка: LNK1104: не удается открыть файл 'debug \ ****. Exe'

Я получаю это из-за того, что MS Security Essentials блокирует файл. да, закрыл предыдущее окно консоли, и вдруг библиотека могла быть прочитана.

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

Это было на VS 2013 Ultimate, Windows 8.1.

ах, Microsoft . Наша первая попытка всегда должна быть закрыта и снова открыта (или выключена и включена) - несколько загадочных ошибок исчезнут, когда мы сделаем это . Мне так стыдно, что это решение может решить мою проблему. Теперь я больше не могу выходить на улицу, чтобы встретиться с друзьями и семьей.

Также убедитесь, что у вас не включено: Свойства конфигурации -> C / C ++ -> Препроцессор -> Предварительная обработка в файл .

В моем случае это тоже была проблема, но что мне делать, если я действительно хочу включить этот флаг (чтобы просмотреть файл Prepossessment)? У вас есть обходные пути: как вывести предварительно обработанный код и скомпилировать его (Visual Studio) и здесь: Компиляция проекта (VS 2008) с аргументом / p (предварительная обработка в файл) не компилируется . Но, по сути, это вариант компилятора, поэтому он подойдет либо, но не обоим сразу.

У меня была такая же проблема. Она вызывалась знаком "," в имени папки дополнительного пути к библиотеке. Решалась изменением пути к дополнительной библиотеке.

Моя проблема заключалась в отсутствии .lib расширения, я просто связывал его, mylib и VS решил его найти mylib.obj .

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

Решение 1 (для моего случая): перезапустите процесс Windows Explorer (да, файловый менеджер Windows).

  1. Закройте Visual Studio. Выход из Windows
  2. Войдите, снова откройте Visual Studio
  3. Стройте как обычно. Теперь он собирается и может получить доступ к проблемному файлу.

Я предполагаю, что иногда файловая система или тот, кто ее контролирует, теряются со своими разрешениями. Перед перезапуском сеанса Windows пытался убить msbuild32.exe процессы зомби , перезапустить визуальную студию, не проверять, даже показывая файл проблемы. Нет проблем с конфигурацией сборки. Это случается время от времени. Что-то внутреннее в Windows не исправляется, требуется перезагрузка.

У меня была эта проблема с VS2019 . это исправило . удивительно, что ошибки сохраняются. thx

У меня была такая же ошибка, только с пакетом Nuget, который я установил (тот, который не является только заголовком), а затем попытался удалить.
Что было неправильно для меня, так это то, что я все еще включал заголовок для пакета, который я только что удалил, в одном из моих файлов .cpp (довольно глупо, да).
Я даже удалил ссылки на дополнительные каталоги библиотеки Project -> Properties -> Linker -> General , но, конечно, безрезультатно, поскольку я все еще пытался ссылаться на несуществующий заголовок.

У меня была такая же проблема, но решения для моего случая в ответах нет. Моя антивирусная программа (AVG) определила файл MyProg.exe как вирус и поместила его в «хранилище вирусов». Вам нужно проверить это хранилище, и если файл там - то просто восстановите его. Мне это помогло.

Для проекта сборки (ProjectName -> Build Dependencies -> Build Customizations -> masm (selected)) установка параметра Generate Preprocessed Source Listing на True вызвала проблему и для меня, очистка настройки устранила ее. VS2013 здесь.

У меня та же проблема с компоновщиком, который жалуется на отсутствие основного исполняемого файла. Это произошло во время переноса нашего решения на новую Visual Studio 2013 . Решение представляет собой разнообразное сочетание управляемых и неуправляемых проектов / кода. Проблема (и решение) заключалась в отсутствии файла app.config в папке решения. Потребовался день, чтобы понять это :(, поскольку журнал вывода не очень помог.

Я отвечаю, потому что не вижу этого конкретного решения в списке других.

По-видимому, мой антивирус (Ad-Aware) отмечал DLL, от которой зависит один из моих проектов, и удалял ее. Даже после исключения каталога, в котором находится DLL, такое же поведение продолжалось до тех пор, пока я не перезагрузил свой компьютер.

В моем случае я заменил файлы математической библиотеки из предыдущего курса Game Engine Graphics на GLM. Проблема заключалась в том, что я не добавил их в проект в обозревателе решений Visual Studio (даже если они были в репозитории проекта).

Надеюсь, этот ответ поможет кому-то в нужде.

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

У меня была такая же ошибка:

Это было вызвано ; в конце. Если у вас несколько библиотек, их следует разделять пустым пространством (пробел), без запятой или точкой с запятой!

Так что не используйте ; или что-либо еще при перечислении библиотек в Project properties >> Configuration Properties >> Linker >> Input

Я пробовал вышеуказанное решение, но у меня не получилось. Поэтому я переименовал exe и перестроил решение. Меня устраивает.

У меня была эта точная ошибка при создании VC ++ DLL в Visual Studio 2019:

LNK1104: невозможно открыть файл 'C: \ Program.obj'

enter image description here

Проверьте каталоги VC++, в VS 2010 их можно найти в свойствах вашего проекта. Проверьте ли $(WindowsSdkDir)\lib входит в список каталогов, если нет, вручную добавьте его. Если вы строите для платформы X64, вы должны выбрать X64 из" платформы " ComboBox и убедитесь, что $(WindowsSdkDir)\lib\x64 входит в список каталогов.

измените набор инструментов платформы на: "Windows7.1SDK " в разделе свойства проекта - >свойства конфигурации - >общие

убедитесь, что у вас есть в каталогах VC++ (щелкните правой кнопкой мыши проект, выберите страницу свойств),

  • Включить Каталоги: $(IncludePath)
  • каталоги библиотеки элементов списка: $(LibraryPath)

только для пользователей командной строки (т. е. - makefile):

  1. при установке VC++ Express, это только 32-разрядный. Итак, все идет в C:\Program Файлы (x86).
  2. затем вы решаете обновить до 64-разрядных capabillities. Итак, вы устанавливаете SDK. Но он 64-битный. Итак, все идет в C:\Program Файлы.

(Не пропустите " v7.0A " to " v7.- Перемены тоже.)

Я получил аналогичную ошибку, проблема остановилась, когда я проверил список "Компоновщик - > ввод - > дополнительные зависимости" в свойствах проекта. Мне не хватало половины двоеточия"; "непосредственно перед" %(AdditionalDependencies)". У меня также была одна и та же запись дважды. Этот список следует редактировать отдельно для отладки и выпуска.

добавить lib путь WindowsSdks в проекте - >свойства - >свойства конфигурации - > каталоги VC++ -> каталоги библиотек.

Я добавил следующий путь и ошибок::

C:\Program файлы (x86)\Microsoft SDKs\Windows\v7.1A \ Lib;

У меня была другая проблема в Windows 10 с Visual Studio 2017, но с теми же эффектами. Я думаю, что мои проблемы сводились к тому, что VS был установлен на диск, отличный от "C:\". Я решил проблему, переустановив Windows 10 SDK

сначала мне пришлось удалить Windows SDK (было установлено две версии). Затем запустил исполняемый файл. После установки запустите visual studio, и он работал нормально.

enter image description here

решение Джеро сработало для меня.
В Visual Studios 2012 выполните следующие действия.
- Перейдите в Обозреватель решений
- Правой кнопкой мыши на вашем проекте
- Перейти к свойствам
- Свойства Конфигурации -> Общие
- Набор Инструментов Платформы ->изменить на Windows7.1SDK

Если вышеуказанное решение не работает, проверьте, есть ли у вас $(LibraryPath) в свойствах - > каталоги VC++ - >каталоги библиотеки. Если вы упускаете его, попробуйте добавить.

ОС: Win10, Visual Studio 2015

решение : Перейдите в Панель управления - - - > удалить программу - - - MSvisual studio - - - - > изменить - - - - >организовать = ремонт

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

сегодня в Visual Studio 2017 у меня была та же проблема.

причиной в моем случае оказалась плохая настройка среды в NETFXSDKDir ( NETFXSDKDir=C:\Program Files (x86)\Windows Kits\NETFXSDK.6.1 ). Это должно быть вместо NETFXSDKDir=C:\Program Files (x86)\Windows Kits\Lib.0.10240.0\um\x86 . В частности, как установлено в этом пакетном файле (мой каталог фактически имеет 4 разных файла) для командной строки для VS2017:

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

. вместо этого для моего конкретного приложения командной строки C++ я просто добавил явный текст пути: ;C:\Program Files (x86)\Windows Kits\Lib.0.10240.0\um\x86 для общей строки в "каталогах библиотеки", как это: $(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;C:\Program Files (x86)\Windows Kits\Lib.0.10240.0\um\x86 . (Щелкните правой кнопкой мыши проект, свойства → свойства конфигурации → каталоги VC++ → каталоги библиотеки.), Который разрешил мою "фатальную ошибку LNK1104: не удается открыть файл" kernel32.ошибка Либ'". Я нашел этот намек в этот вопрос GitHub.

Примечание это воспроизводимо в визуальном Studio 2017 Enterprise 2017 версии 15.1 (26403.0) даже после успешного "ремонта" установки. при создании нового консольного приложения Visual C++ Win32 и попытке компиляции.

фактически, если не создано пустое приложение, шаблон по умолчанию также включает ссылку на <SDKDDKVer.h> и с этим я получаю эту дополнительную ошибку: Error (active) E1696 cannot open source file "SDKDDKVer.h" . Так Что Я создал пустой проект c++.

на Visual Studio 2017, Я пошел к Свойства Проекта ->Свойства Конфигурации ->общие, отобранных Все Платформы (1), затем выберите выпадающий (2) под версия Windows SDK и обновлен с 10.0.14393.0 на тот, который был установлен (3). Для меня это было 10.0.15063.0.

enter image description here

дополнительная информация: это исправило ошибку в моем случае, потому что версия Windows SDK помогает VS выбрать правильные пути. каталоги VC++ -> Библиотека-Каталоги -> редактировать ->макрос -> показывает, что макрос $(WindowsSDK_LibraryPath_x86) имеет путь с номером версии выше.

Я просто встречался и решил эту проблему сам. Моя проблема немного другая. Я использую visual studio в Windows 10. Когда я создаю проект, Target Platform Version было автоматически установлено значение 10.0.15063.0 . Но нет kernel32.lib для этой версии SDK также нет других необходимых файлов заголовков и файлов lib. Поэтому я изменил Target Platform Version до 8.1 . И это сработало.

Читайте также: