Lnk1181 не удается открыть входной файл delayimp lib
Все программы в момент установки их в Windows прописывают в реестр свои ассоциации к файлам, с которыми они работают. Иногда при неграмотных действиях пользователя некоторые ассоциации могут изменится. Если добавить ассоциацию к ярлыкам, имеющим расширение .lnk, то программы с рабочего стола перестанут открываться. Разберемся почему так получается и как устранить.
Когда пользователь пытается открыть файл, который не имеет ассоциации, Windows предложит указать программу, с помощью которой можно это сделать. Но пользователь уверен, что ему по почте прислали именно документ в формате Word и пытается открыть файл программой Word.
В результате все файлы имеющие такое же расширение ассоциируются с этой программой.
Если в Windows появилась ассоциация ярлыков, то все ярлыки станут неработоспособными и программы с рабочего стола открываться не будут.
Восстановить ассоциацию файлов lnk можно через реестр путем удаления соответствующей записи.
Открываем окно "Выполнить" сочетанием клавиш "Win+R" и вводим команду "regedit"
В реестре переходим по ветке:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\
И удаляем раздел .lnk
После этого достаточно выйти из учетной записи пользователя и зайти обратно. Windows добавит в реестр правильный раздел .lnk и ярлыки будут нормально функционировать.
Изменить ассоциацию файла, неправильно сопоставленного какой-либо программе, можно без вмешательства в реестр.
Изменение ассоциации файла программе настраивается через элемент Панели управления "Программы по-умолчанию".
Для этого откроем панель управления "Пуск / Панель управления" и выберем элемент "Программы по умолчанию"
Выбираем пункт "Сопоставление типов файлов или протоколов конкретным программам"
Выбираем расширение файла, для которого необходимо изменить ассоциацию, и нажимаем кнопку "Изменить программу"
Указываем программу, при помощи которой необходимо открывать данный файл.
4 thoughts on “ Восстановление ассоциации файлов lnk и изменение ассоциаций файлов в Windows ”
Сколько мучался, наверно лет 6 с этой проблемой, но так как не особо мешала, не исправлял, а тут понадобилось и бац. Все помог способ с редактированием реестра. Спасибо за инструкцию
4ет у меня не полу4илось хоть удалил лнк! как и пишет комьютер и тд лнк ! по4ти на всех програмах так пишет и иконки не открываются и измененные
Может вирус подхватил. Попробуй просканировать антивирусом.
А если при попытке открыть реестр открывается как просмотр фотографий? То есть эта ерундовина затронула даже файл "regedit"?
Я уже некоторое время сталкиваюсь со странной ошибкой в Visual Studio 2010.
У меня есть решение, состоящее из проекта, который компилируется в статическую библиотеку, и другого проекта, который действительно прост, но зависит от этой библиотеки.
Иногда, в последние дни чрезвычайно часто, после перестройки решения или просто компиляции его с измененными исходными файлами 1-3, я получаю следующую ошибку:
Где компиляция thelibrary.lib прошла успешно без каких-либо ошибок или предупреждений.
Я пробовал очищать раствор, но это не всегда срабатывает.
При попытке установить определенный геофизический инструментарий Python я получаю эту ошибку: LINK: фатальная ошибка LNK1181: не удается открыть входной файл 'm.lib' Я считаю, что это связано с тем, что я использую buildtools MSVC. В их setup.py я нашел: setup(…, ext_modules=[ Extension(…, […].
В Компоновщик, общие, дополнительные каталоги библиотек, добавьте каталог в .dll или .libs вы включили в Компоновщик, ввод. Это не сработает, если вы поместите это в каталоги VC++, библиотечные каталоги.
Я вижу только 1 вещь, происходящую здесь: Вы не установили должным образом зависимости на thelibrary.lib в своем проекте, что означает, что thelibrary.lib построен в неправильном порядке (или в то же время, если у вас есть более 1 конфигурации сборки CPU, что также может объяснить случайность ошибки). (Вы можете изменить зависимости проекта в: меню - >проект->зависимости проекта )
Я пытался скомпилировать проект VC6 на работе, с VS2008 . Мне удалось успешно удалить все ошибки компиляции и предупреждения в моем унаследованном коде. Но на этапе связывания я столкнулся со странной проблемой . Проблема заключается в следующем : Первая проблема, с которой я столкнулся.
Хиии. Я использую opencv-2.4.11 с microsoft visual studio 12 express edition с поддельным ключом и windows 8.1. У меня нет проблем с компиляцией моего кода, но когда я строю свой проект, он показывает следующую ошибку LINK: фатальная ошибка LNK1181: не удается открыть входной файл.
В принципе, если у вас есть пробелы на пути .lib, это плохо. Не знаю, происходит ли это с вами, но кажется вполне возможным.
Исправление состоит в том, чтобы либо 1) поместить ссылку lib в "quotes", либо 2) добавить путь lib в каталоги вашей библиотеки (свойства конфигурации >> каталоги VC++).
У меня была одна и та же проблема и в VS 2010, и в VS 2012 годах. В моей системе была построена первая статическая библиотека, а затем она была немедленно удалена, когда начался основной проект.
Проблема заключается в общей промежуточной папке для нескольких проектов. Просто назначьте отдельную промежуточную папку для каждого проекта.
Подробнее об этом читайте здесь
Я решил ее следующим образом:
Перейдите в раздел просмотр - > страницы свойств -> свойства конфигурации -> Компоновщик -> ввод
В разделе Дополнительные зависимости добавьте thelibrary.lib. Не используйте никаких цитат.
У меня была аналогичная проблема в том, что я получал LINK1181 ошибок в файле .OBJ , который был частью самого проекта (а во всем проекте было только 2 .cxx файла).
Я натыкаюсь на ту же проблему. Для меня это, по-видимому, вызвано наличием 2 проектов с одинаковым названием, Один из которых зависит от другого.
Например, у меня есть один проект под названием Foo, который производит Foo.lib. Затем у меня есть еще один проект, который также называется Foo, который производит Foo.exe и ссылки в Foo.lib.
Я наблюдал за монитором процесса file activity w/. Что, кажется, происходит это фу(Либ) строится в первую очередь-это правильное, т. к. функция(exe) отмечен как в зависимости от Фу(Либ). Все это прекрасно и успешно строится, и помещается в вывод directory--$(OutDir)$(TargetName)$(TargetExt)., а затем Foo (exe) запускается для перестройки. Ну, перестройка-это чистка, за которой следует сборка. Похоже, что этап 'clean' Foo.exe удаляет Foo.lib из выходного каталога. Это также объясняет, почему работает последующий 'build'-который не удаляет выходные файлы.
Наверное, ошибка в VS.
К сожалению, у меня нет решения этой проблемы, поскольку она включает в себя перестройку. Обходной путь состоит в том, чтобы вручную выполнить очистку, а затем построить.
Я не знаю почему, но изменение ссылки Linker->Input->Additional Dependencies с "dxguid.lib" на "C:\Program Files (x86)\Microsoft DirectX SDK (июнь 2010)\Lib\x86\dxguid.lib" (в моем случае) было единственным, что сработало.
Для меня проблема заключалась в неправильном каталоге include . Я понятия не имею, почему это вызвало ошибку с кажущейся отсутствующей lib, поскольку каталог include содержит только заголовочные файлы. И в библиотечном каталоге был установлен правильный путь.
Может быть, у вас проблемы с оборудованием.
У меня была та же проблема в моей старой системе (AMD 1800 MHz CPU ,1GB RAM ,Windows 7 Ultimate) ,пока я не изменил 2x 512 MB RAM на 2x 1GB RAM . С тех пор у меня не было никаких проблем. Исчезли и другие (незначительные) проблемы. Думаю, эти два модуля 512 MB не очень нравились друг другу, потому что 2x 512 MB + 1GB или 1x 512 MB + 2x 1GB тоже не работали должным образом.
Чтобы получить форму 8.3, выполните (в командной строке):
рекурсивно через каждый уровень каталогов.
У меня была такая же ошибка при запуске lib.exe из cmd на Windows с длинным списком аргументов. по-видимому, cmd.exe имеет максимальную длину строки около 8K символов, что привело к тому, что имена файлов в конце этого порога были изменены, что привело к плохой ошибке имени файла. мое решение состояло в том, чтобы обрезать линию. Я удалил все пути из имен файлов и добавил один путь, используя опцию /LIBPATH. например:
У меня была та же проблема. Решил его, определив макрос OBJECTS , который содержит все объекты компоновщика, например:
А затем укажите $(OBJECTS) в командной строке компоновщика.
Однако я не использую Visual Studio , только nmake и файл .MAK
Я нашел для этого другое решение.
На самом деле я пропустил разделитель запятых между двумя библиотечными путями. После добавления common это сработало для меня.
Перейдите по адресу: Project properties -> Linker -> General -> Link Library Dependencies по этому пути убедитесь, что путь к библиотеке правильный.
Предыдущий код ( с ошибкой -потому что я забыл разделить два пути lib запятой):
Код после исправления (просто отдельные библиотеки с запятой):
Надеюсь, это вам поможет.
В моем случае библиотека была установлена с помощью пакета NuGet (cpprestsdk), и я ложно добавил lib к дополнительным зависимостям в настройках компоновщика. Оказывается, пакет делает все это за вас.
Затем компоновщик попытался найти библиотеку в библиотечном пути и, конечно же, не смог ее найти.
После удаления библиотеки из дополнительных зависимостей все скомпилировалось и связалось нормально.
Я создал каталог bin на уровне project_dir, а затем создал каталог release/debug внутри папки bin , что решило проблему для меня.
Похожие вопросы:
У меня VS 2010 на Windows 7. Я создаю новый проект, выбираю язык c++, Win32 project, DLL, экспортирую символы и заканчиваю. Теперь, когда я компилирую проект без каких-либо изменений в том, что.
Я использую код алгоритма SIFT Роба Хесса , который использует библиотеку OpenCV в Windows. И у меня есть visual studio 2008 в качестве IDE. Когда я запускаю программу для сопоставления изображений.
При попытке установить определенный геофизический инструментарий Python я получаю эту ошибку: LINK: фатальная ошибка LNK1181: не удается открыть входной файл 'm.lib' Я считаю, что это связано с тем.
Я столкнулся с ошибкой в Visual Studio 2005 году. Я использовал boost python (boost_1_54_0)для интерфейса python 3.3.2 с c++. Я следовал этому учебнику.
Я пытался скомпилировать проект VC6 на работе, с VS2008 . Мне удалось успешно удалить все ошибки компиляции и предупреждения в моем унаследованном коде. Но на этапе связывания я столкнулся со.
Хиии. Я использую opencv-2.4.11 с microsoft visual studio 12 express edition с поддельным ключом и windows 8.1. У меня нет проблем с компиляцией моего кода, но когда я строю свой проект, он.
Я новичок в программировании с Visual studio 2013, и я создал проект (игру) и создал установщик с помощью Cmake. Но когда я строю свой проект, я получаю следующую ошибку: и у меня была следующая.
Я пытаюсь скомпилировать cudamat в моем Windows 10, используя командную строку VS2015 x64 native tools. Я уже установил Cuda toolkit 8, а также Visual Studio 2015 с компилятором MSVC. После загрузки.
Я пытаюсь установить версию поддержки xgboost gpu, следуя следующим инструкциям. xgboost-gpu-support Я использую windows 10, visual studio 2017. Версия not-gpu-support работает нормально. Но для.
Я уже некоторое время сталкиваюсь со странной ошибкой в Visual Studio 2010.
У меня есть решение, состоящее из проекта, который компилируется в статическую библиотеку, и другого проекта, который действительно прост, но зависит от этой библиотеки.
Иногда, в последние дни, очень часто, после перестройки решения или просто компиляции с 1-3 измененными исходными файлами, я получаю следующую ошибку:
Где компиляция thelibrary.lib прошла успешно без каких-либо ошибок или предупреждений.
Я пытался очистить раствор, но это не всегда работает.
В Linker, вообще, дополнительные каталоги библиотек, добавьте каталог в .dll или .libs, которые вы включили в Linker, Input. Это не работает, если вы поместите это в каталоги VC++, каталоги библиотек.
Я вижу, что здесь происходит только 1 вещь: вы неправильно установили зависимости для thelibrary.lib в своем проекте, что означает, что thelibrary.lib собран в неправильном порядке (или в то же время, если у вас более 1 конфигурации сборки CPU, что также может объяснить случайность ошибки). (Вы можете изменить зависимости проекта в: Меню-> Проект-> Зависимости проекта)
В принципе, если у вас есть пробелы на пути к .lib, это плохо. Не знаю, так ли это с тобой, но кажется разумным.
Исправление: 1) поместите ссылку на lib в "кавычки", или 2) добавьте путь к lib в ваши каталоги библиотеки (Свойства конфигурации >> Каталоги VC++).
У меня была одна и та же проблема как в VS 2010, так и в VS 2012. В моей системе была собрана первая статическая библиотека, а затем она была немедленно удалена, когда основной проект начал собираться.
Проблема в общей промежуточной папке для нескольких проектов. Просто назначьте отдельную промежуточную папку для каждого проекта.
Подробнее об этом здесь
Я решил это со следующим:
Под дополнительными зависимостями добавьте thelibrary.lib. Не используйте цитаты.
У меня была похожая проблема в том, что я получал ошибки LINK1181 в файле .OBJ , который был частью самого проекта (и во всем проекте было только 2 файла .cxx).
Я не знаю почему, но меняю ссылку Linker-> Input-> Additional Dependencies с "dxguid.lib" на "C:\Program Files (x86)\Microsoft DirectX SDK (июнь 2010 г.)\Lib\x86\dxguid". lib "(в моем случае) было единственным, что сработало.
Я сталкиваюсь с той же проблемой. Для меня это, кажется, вызвано наличием двух проектов с одинаковыми именами, один из которых зависит от другого.
Например, у меня есть один проект с именем Foo, который производит Foo.lib. Затем у меня есть другой проект, который также называется Foo, который производит Foo.exe и ссылки в Foo.lib.
Я смотрел файл активности ж/Process Monitor. Кажется, происходит то, что сначала создается Foo (lib) - это правильно, потому что Foo (exe) помечен как зависящий от Foo (lib). Это все нормально и успешно собирается, и помещается в выходной каталог - $ (OutDir) $ (TargetName) $ (TargetExt). Затем Foo (exe) запускается для восстановления. Ну, перестройка - это чистая, за которой следует сборка. Кажется, что "чистым" этапом Foo.exe является удаление Foo.lib из выходного каталога. Это также объясняет, почему работает следующая сборка, которая не удаляет выходные файлы.
Ошибка в VS, я думаю.
К сожалению, у меня нет решения проблемы, так как оно связано с перестройкой. Обходной путь должен вручную выполнить Очистку, а затем Построить.
Для меня проблема была в неправильном каталоге include . Я понятия не имею, почему это вызвало ошибку с отсутствующей на первый взгляд библиотекой, поскольку каталог include содержит только файлы заголовков. И в каталоге библиотеки был указан правильный путь.
У меня была такая же ошибка при запуске lib.exe из cmd в Windows с длинным списком аргументов. очевидно, cmd.exe имеет максимальную длину строки около 8 КБ символов, в результате чего имена файлов в конце этого порога были изменены, что привело к ошибочной ошибке в имени файла. Мое решение состояло в том, чтобы урезать линию. Я удалил все пути из имен файлов и добавил один путь, используя параметр/LIBPATH. например:
Может быть, у вас есть проблемы с оборудованием.
У меня была такая же проблема в моей старой системе (процессор 1800 МГц AMD, 1 ГБ RAM, Windows 7 Ultimate), пока я не изменил 2x 512 МБ RAM на 2x 1 ГБ ОЗУ. С тех пор не было никаких проблем. Также исчезли другие (незначительные) проблемы. Думаю, эти два модуля по 512 МБ не очень понравились друг другу, потому что 2x 512 МБ + 1 ГБ или 1x 512 МБ + 2x 1 ГБ тоже не работали должным образом.
В моем случае у меня была установлена библиотека с использованием пакета NuGet (cpprestsdk), и я ошибочно добавил библиотеку к дополнительным зависимостям в настройках компоновщика. Оказывается, пакет делает все это за вас.
Затем компоновщик попытался найти библиотеку в пути к библиотеке и, конечно, не смог ее найти.
После удаления библиотеки из дополнительных зависимостей все скомпилировалось и связывалось нормально.
Я нашел другое решение для этого .
На самом деле, я пропустил разделитель запятой между двумя путями библиотеки. После добавления общего у меня это сработало.
Перейдите по адресу: Project properties -> Linker -> General -> Link Library Dependencies . По этому пути убедитесь, что путь к библиотеке правильный.
Предыдущий код (с ошибкой - потому что я забыл разделить два пути lib запятой):
Код после исправления (просто разделяйте библиотеки запятыми):
Надеюсь, что это поможет вам.
У меня такая же проблема. Решил это путем определения макроса OBJECTS , который содержит все объекты компоновщика, например:
Затем укажите $(OBJECTS) в командной строке компоновщика.
Я не использую Visual Studio хотя, просто nmake и файл .MAK
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.
DEsTR0Y
Новичок
При сборке решения выбивает такую ошибку: 1>LINK : fatal error LNK1181: не удается открыть входной файл "plugin.lib"
Проект создавался для GTA Sa, тип плагина: dll
В чём может быть проблема?
iAmerican
Известный
Что тут не понятного? Файла либо нет , либо путь неправильный
DEsTR0Y
Новичок
Что тут не понятного? Файла либо нет , либо путь неправильный
Как проверить, есть этот файл или нет? Если нет, то где можно скачать, а если есть, то где можно настроить для него путь? Такое только с Plugin SDK, при создании обычной Dll библиотеки никаких ошибок нет
iAmerican
Известный
Как проверить, есть этот файл или нет? Если нет, то где можно скачать, а если есть, то где можно настроить для него путь? Такое только с Plugin SDK, при создании обычной Dll библиотеки никаких ошибок нет
DEsTR0Y
Новичок
Все когда-то были новичками и порой тупили. В статье, в которой я и узнал про Plugin SDK, всё было довольно просто(там был пример изменения погоды). Ведь большинство действий делаются аналогично, не так ли? Делать что-то особо сложное я в ближайшее время не планирую, на данный момент мне надо только простенькие действия(вроде изменения погоды) и вывод текста в чат. Разве это так сложно?
Да и попробовать все-таки надо, а вдруг получится. Лучше попробовать и ошибиться, чем не попробовать вообще и потом жалеть об этом.
iAmerican
Известный
Все когда-то были новичками и порой тупили. В статье, в которой я и узнал про Plugin SDK, всё было довольно просто(там был пример изменения погоды). Ведь большинство действий делаются аналогично, не так ли? Делать что-то особо сложное я в ближайшее время не планирую, на данный момент мне надо только простенькие действия(вроде изменения погоды) и вывод текста в чат. Разве это так сложно?
Да и попробовать все-таки надо, а вдруг получится. Лучше попробовать и ошибиться, чем не попробовать вообще и потом жалеть об этом.
Читайте также: