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

Visual Studio 2012 — ошибка LNK1104: не удается открыть файл ‘glew32.lib’

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

У меня проблемы с компиляцией базовой программы openGL на VS 2012. Я получаю ошибку сборки после компиляции, давая мне:

1>LINK : fatal error LNK1104: cannot open file 'glew32.lib'

Я следовал инструкциям, данным мне в документации для GLEW.

В вашем проекте OpenGL откройте «Проект» -> «Свойства» -> «Свойства конфигурации» -> «Компоновщик» -> «Ввод» -> «Дополнительные зависимости» -> добавить glew32.lib.

Также вы должны включить #include в свои источники; Для этого добавьте путь к вашей папке glew: Проект -> Свойства -> Свойства конфигурации -> Общие -> Каталоги VC ++ -> Включить каталоги и каталоги библиотек;

Вкладка C / C ++ -> Общие -> Дополнительные каталоги включения — Добавьте туда папку lib

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

Если вам нужно более подробное разъяснение шагов, которые я сделал, пожалуйста, не стесняйтесь спрашивать

15

Честно говоря, нет реальной пользы от использования DLL-версии glew (если не считать уменьшенного размера исполняемого файла, но это вряд ли имеет значение на современных ПК с Windows).

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

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

файлы, которые используют DLL как средство исправления ошибок загрузки расширений в поставляемом программном обеспечении, также не практичны. Статическая ссылка на glew (это означает glew32s.lib) имеет гораздо больше смысла в долгосрочной перспективе.

Библиотека статических ссылок также более переносима в Windows, она будет работать с MSVC и MinGW (тогда как библиотека DLL работает только с MSVC). Ссылка против glew32s и поместите это в любой каталог, который вы решили использовать для дополнительных библиотечных зависимостей.

Вот пример конфигурации решения для проекта, который я написал, который использует glew. Я установил соглашение для этого конкретного программного обеспечения, где зависимости времени компиляции хранятся в platform/, Таким образом, у меня есть glew32s.lib (32-разрядный) и glew64s.lib (64-разрядный) в ./Epsilon/platform/OpenGL/glew{32|64}s.lib

15

Это случилось со мной в этой ситуации, я очищаю решение и собираю его снова, затем возникает много ошибок, таких как LNK1104.

После попытки перезапустить IIS я успешно строю решение без ошибок LNK1104. Я не знаю почему, но перезапуск IIS занимает гораздо больше времени, чем обычно, поэтому я предполагаю, что что-то используется другим рабочим процессом IIS.

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

2

Шаги по использованию классов из другого проекта (добавление ошибок компоновщика заголовка и решателя)

  1. Чтобы иметь возможность добавить заголовок из другого проекта, сначала перейдите на «Свойства> c ++> Общие> Дополнительные каталоги включения» и добавьте каталог, который содержит заголовок. Теперь вы сможете добавить заголовок класса из другого проекта, но запуск проекта все равно вызовет ошибки компоновщика.

  2. добавлять __declspec (dllexport) перед классом, который вы используете для другого проекта. Это можно добавить в заголовочный файл этого класса.

    Это должно быть добавлено непосредственно перед именем функции, переменной или класса. Теперь вы получите файл lib. (если не в том месте, вы можете получить это предупреждение: https://msdn.microsoft.

    com/en-us/library/eehkcz60.aspx)

  3. «Свойства> Linker> Дополнительные каталоги библиотеки». Укажите местоположение создаваемого файла lib.

  4. «Свойства> Линкер> Ввод> Дополнительные зависимости»: Добавьте имя файла lib.

2

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

Это может помочь.

1

Этот вопрос старый и помечен как решенный, но у меня были похожие симптомы проблемы с совершенно другим решением. Так что на случай, если кто-то еще споткнется здесь:
Оказалось, что, поскольку у меня было 2 проекта под одним решением (dll и exe), порядок построения был смешанным (из окна вывода):

1> Rebuilding project1..2> Rebuilding project1..1> file1.cpp2> file1.cpp

и так далее. Судя по скопированному сообщению, у вас тоже есть несколько проектов под одним решением. Один проект искал файл * .lib, который другая сборка еще не создала.Решение:

Щелкните правой кнопкой мыши по «основному» проекту -> Зависимости сборки -> Зависимости проекта .. -> Отметьте, от какого проекта зависит основной.

1

Источник: https://web-answers.ru/c/visual-studio-2012-oshibka-lnk1104-ne-udaetsja.html

Почему фатальная ошибка

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

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

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

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

259   19  

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

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

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

To:

” 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 здесь.

Я сталкиваюсь с той же проблемой, когда компоновщик жалуется на отсутствие основного исполняемого файла. Это произошло во время нашего порта решения для нового Visual Studio 2013.

Решение представляет собой разнообразное сочетание управляемых и неуправляемых проектов / кода. Проблема (и исправить) в конечном итоге отсутствует приложение.конфигурации файл в папке решения.

Потребовался день, чтобы понять это: (, поскольку выходной журнал был не очень полезен.

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

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

Я даже удалил дополнительную ссылку на каталоги библиотеки в Project -> Properties -> Linker -> General, но, конечно, безрезультатно, так как я все еще пытался ссылаться на несуществующий заголовок.

определенно сбивает с толку сообщение об ошибке в этом случае, так как имя заголовка но ошибка дала мне “cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'” и никаких номеров строк или чего-то еще.

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

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

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

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

решение 2:

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

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

exe процессы, перезагрузите visual studio, не проверяйте даже отображение файла проблемы. Нет проблем с конфигурацией сборки. Это случается время от времени.

Некоторые внутренние вещи в Windows не исправляются,требуется перезагрузка.

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

У меня была эта проблема в сочетании с ошибкой LNK2038, а затем это post для разделения библиотеки DLL выпуска и отладки. В этом процессе я очистил всю папку, в которой находились эти зависимости.

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

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

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

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

fatal error LNK1104: cannot open file 'GTest.lib;'

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

Так что не используйте ; или что-нибудь еще при перечислении библиотек в свойства проекта > > свойства конфигурации > > Компоновщик > > ввод

У меня была такая же проблема , я просто скопировал код в новый проект и начали строить . Некоторые другие ошибки начали приходить. ошибка C4996:' fopen': эта функция или переменная может быть небезопасной. Рассмотрите возможность использования fopen_s вместо

снова решить эту проблему, я добавил свое одно свойство в проект, как показано ниже. Проект – > свойства – > свойство конфигурации – > c/c++ . В этой категории есть поле Имя препроцессора определенияЯ добавил _CRT_SECURE_NO_WARNINGS это для решения проблемыНадеюсь, это поможет …

Спасибо

Источник: https://codengineering.ru/q/why-does-fatal-error-lnk1104-cannot-open-file-c-program-obj-occur-when-i-c-16510

Поделиться:
Нет комментариев

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

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.