Не удается открыть файл kernel32 lib

Обновлено: 04.07.2024

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 . И это сработало.

Решить проблему невозможности открыть файл «kernel32.lib» и запустить «rc.exe» в VS2013

Во-первых, решить проблему, которая не может открыть файл "kernel32.lib"

Причина в том, что путь к «каталогу библиотеки» не настроен.

1.1 Найдите путь к «kernel32.lib», обычно в C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Lib.

Если нет, найдите «kernel32.lib» на диске C, чтобы найти его путь.

1.2 Добавьте этот путь в «Библиотечный каталог»

1.2.1 Сначала откройте проект, проект ----> свойства ----> свойства конфигурации ----> каталог VC ++ ----> каталог библиотеки


1.2.2 Добавьте путь к «kernel32.lib» в каталоге библиотеки, обычно это C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Lib

После нажатия «Каталог библиотеки», после оригинала «$ (WindowsSDK_LibraryPath_x86)» Сначала добавьте точку с запятой ";" Перед копированием

C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.1A \ Lib в каталоге библиотеки.

Проблема в том, что файл «kernel32.lib» не может быть открыт в проекте, может быть решена. Поскольку каждый раз требуется новый проект, слишком сложно каждый раз изменять каталог библиотеки. Путь к каталогу библиотеки по умолчанию устанавливается для всех новых проектов ниже.

II. Установите путь к каталогу библиотеки по умолчанию для полного разрешения новых проектов Не удается открыть файл "kernel32.lib"

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

Для того, чтобы вновь созданный проект не смог открыть файл «kernel32.lib», необходимо установить Установить путь к каталогу библиотеки по умолчанию

2.1 Сначала откройте проект


Добавьте путь к «kernel32.lib» в каталог библиотеки, как 1.2.2 выше.

3. Решить проблему, которая не может запустить "rc.exe"

В настоящее время может быть решена только проблема «rc.exe» в одном проекте.

Не удается решить проблему «rc.exe» для всех новых проектов. «Набор инструментов платформы» может быть изменен только в текущем установленном проекте

3.1 Проект-> Свойства-> Свойства конфигурации-> Общие-> Набор инструментов платформы

3.2 Замените Visual Studio 2013 (v120) на Visual Studio 2013-Windows XP (v120_xp), нажмите «Применить» и «ОК».

enter image description here

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

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

  • Windows 10
  • Visual Studio 2015
  • Visual C ++

Решение :

  1. Откройте проект Property Page ;
  2. Перейдите на страницу General ;
  3. Измените Target Platform Version на желаемую целевую платформу (например, 8.1 ).

В 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 2017 у меня была такая же проблема.

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

Поскольку я не хочу изменять один из «установленных» командных файлов… даже более того, поскольку этот командный файл вызывает другой еще один:

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

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

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

ОС: Win10, Visual Studio 2015

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

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

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

enter image description here

Решение gero сработало для меня.
В Visual Studios 2012 выполните следующие действия.
- Перейдите в обозреватель решений
- Щелкните правой кнопкой мыши свой проект
- Перейдите в "Свойства"
- Свойства конфигурации -> Общие
- Platform Toolset -> перейти на Windows7.1SDK

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

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

У меня возникла аналогичная ошибка, проблема прекратилась, когда я проверил свой список «Linker -> Input -> Additional Dependencies» в свойствах проекта. Мне не хватало точки с запятой ";" непосредственно перед "% (AdditionalDependencies)". У меня тоже дважды была одна и та же запись. Вы должны редактировать этот список отдельно для отладки и выпуска.

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

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

C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7.1A \ Lib;

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

    Когда вы устанавливаете VC ++ Express, он является только 32-разрядным. Итак, все идет в C: \ Program Files (x86) 5

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

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

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

Не найдена точка входа в процедуру в библиотеке kernel32.dll. Решаем самостоятельно!

  • точка входа в процедуру getlogicalprocessorinformation kernel32.dll
  • точка входа в процедуру не найдена в библиотеке dll kernel32.dll
  • Не найдена библиотека kernel32 dll
  • Программа вызвала ошибку в модуле kernel32.dll
  • getfileinformationbyhandleex не найдена в библиотеке kernel32.dll
  • setdefaultdlldirectories не найдена в библиотеке dll kernel32
  • Failed to get proc address for GetlogicalProcessorInformation kernel32.dll
  • releasesrwlockexclusive не найдена kernel32 dll

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

Не найдена точка входа в процедуру в библиотеке kernel32.dll. Решаем самостоятельно!

Ошибка Kernel32.dll может возникнуть практически в любое время, когда Windows запускается, при открытии или закрытии программы, на памяти есть пара эпизодов, когда просто при перетаскивании окна программы. Ошибки kernel32.dll встречаются не только в Windows XP, но и в Windows 7, а иногда и в Windows 8.

Причины ошибки kernel32.dll

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

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

Операционка обычно указывает причину отказа, в виде информации на что обратить внимание, чаще всего это конкретный файл, на который и стоит обратить внимание. Бывают случаи, когда информации мало, как в случае при установке skype.

Исправляем ошибку Kernel32.dll

ПРИМЕЧАНИЕ: Не пытайтесь искать в интернете о том, где и как скачать KERNEL32.dll, так как это ни к чему хорошему не приведет. Можете скачать не подходящий файл или под видом нужной библиотеки скачать вирус! Имейте ввиду, возникновение ошибки не означает отсутствие файла. Совет: Если Вы являетесь пользователем Windows XP SP1 или SP2, то Вам целесообразно будет начать со скачивания и обновления вашей ОС до SP3. Т.к. большинство программ отказываются работать на устаревших ОС. Или задумайтесь о переходе на Windows 10, более или менее стабильная операционная система.

Ошибка setdefaultdlldirectories (решение для Windows 7)

Отдельно хочу заметить пользователей софта от Sony PC Companion это обновление будет не как кстати, так как очень часто оно выдает такую ошибку.

Для тех у кого проблемы с загрузкой внешних библиотек, и текст ошибки звучит именно так:

  • SetDefaultDllDirectories
  • AddDllDirectory
  • RemoveDllDirectory

Корпорация Майкрософт выпустила улучшения API для Windows, которые позволят правильно и безопасно загружать внешние библиотеки. Для этого необходимо скачать с официального сайта Майкрософт обновления для своей ОС:

Варианты решения ошибки Kernel32.dll

Единичный системный сбой. По счастливой случайности ошибка kernel32.dll может быть единичным случаем, можно выполнить перезагрузку компьютера. После перезапуска windows возможно проблема уйдет сама собой.

Переустановить программу, с которой возникла ошибка. Если вы заметили появление ошибки при использовании одной программы, а в работе другого софта такого не замечено, самым правильным решением в данном случае будет скачать софт с официального сайта и установить. Только предварительно удалить с компьютера старую версию ПО. Возможно ошибка была связана с обновлением ПО, некачественным софтом, или коряво ломаным. А еще как вариант, можно обновить ПО до актуальной версии, или установить патчи которые доступны для программы.

Возможно вирусное заражение. Для начала нужно убедиться, что в папке с системными файлами присутствует файл KERNEL32.DLL а не kernel32.exe.

Проверяем наличие kernel32.dll

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

Проверяем наличие файла kernell32.dll в system32

Следует проверить компьютер на наличие вирусов бесплатными утилитами, такими как Dr.Web Cureit! и Kaspersky Virus Removal Tool.

Сканирование компьютера Dr.Web CureIt! на вирусы

Ошибка при подключении любого оборудования. Бывают ситуации, когда ошибка выскакивает при подключении или активации оборудования. К примеру, при включении веб-камеры в Skype. То следует переустановить или обновить драйвер оборудования, в нашем случае веб-камера, до актуальной версии, также можно попробовать установить на одну версию ниже от актуальной. Обновление драйвера можно выполнить через «Диспетчер устройств». На фирменное оборудование драйвера можно скачать с сайта производителя.

Диспетчер устройтсв

Разгон процессора, видеокарты или изменили тайминги на оперативной памяти. Если проводили настройки по разгону процессора или видеокарты, памяти, это также может послужить причиной ошибки. Для решения необходимо вернуть все настройки в исходное состояние.

Произвести проверку системных файлов. Нужно запустить проверку системных файлов windows средствами ОС. Для этого запустите командную строку с правами администратора, наберите в строке sfc /scannow и нажмите Enter. Система выполнит проверку поврежденных файлов и по возможности восстановит их.

Проверка поврежденных системных файлов windows

Возможны проблемы с оперативной памятью. Так как библиотека kernel32.dll отвечает за управление оперативной памятью в плане записи и чтения, проблема так же может скрываться за оперативкой. Для исключения проблем с оперативкой, ее нужно просканировать на наличие ошибок с помощью утилиты memtest86 или подобными аналогами, которых значительное количество. В случае обнаружения ошибок, необходимо заменить планку ОЗУ на заведомо рабочую.

Сканирование оперативной памяти на ошибки Memtest86

Возможны проблемы с жестким диском. Друзья, если после переустановки виндовс проблема не исчезла, следует проверить жесткий диск на наличие ошибок и битых секторов, которые так же могут послужить в возникновении ошибок с кернел32.

Для этого запустите командную строку с правами администратора, введите следующее. К примеру: chkdsk C: /f /r (где C: системный диск (по умолчанию) , f – проверка на наличие ошибок и их автоматическое восстановление, r – проверка поврежденных секторов и их восстановление)

Я показал на примере другой диск. В вашем случае пишите букву системного диска, на котором установлена ОС.

Сканирование и исправлне ошибок жесткого диска

Вы всегда можете воспользоваться другими утилитами для проверки состояния вашего жесткого диска, такими как Victoria 4.47 или MHDDTest.

P.S. Подводя итоги, хотелось бы добавить от себя, что ошибка «не найдена точка входа в процедуру в библиотеке dll kernel32.dll» может быть связана с устаревшей версией Windows XP, на более современных ОС ошибка возникает крайне редко, но и не исключены случаи ее появления. Если вы до сих пор используете windows xp sp1, sp2, задумайтесь об обновлении до sp3 или о переходе на более современные операционные системы, такие как windows 7, windows 8 или windows 10.

Так как Билл Гейтс делает все, чтобы пользователи спрыгнули с Windows XP. Даже все те кого устраивает ОС.

По требованиям к ресурсам компьютера виндовс 10 не прожорлива и не требовательна, работает и на слабом железе. А стабильность и комфортность в работе на хорошем уровне.

Надеюсь статья поможет Вам в борьбе с ошибкой kernel32.dll. Будет великолепно, если Вы отпишитесь о том, какой способ подошел именно Вам, или Вы решили проблему другими способами. Поделитесь с другими людьми, которые ищут решение.

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