Не удается открыть файл lib
Компилятор создает ошибку C1083, когда не удается найти требуемый файл. Эта ошибка имеет несколько возможных причин. Наиболее распространенными причинами являются неверный путь поиска include или отсутствующие или неправильно именованные файлы заголовков, но другие типы файлов и проблемы могут также вызвать C1083. Ниже приведены некоторые распространенные причины, по которым компилятор создает эту ошибку.
Справка, моей проблемы нет в списке!
I don't know what more to say. I just downloaded this compiler yesterday and it was working fine. I wanted to upgrade from 32-bit programming to 64-bit so I could work with Assembly, so I downloaded this SDK. I searched on Google and even here on Stackoverflow. Google didn't help much, but I found a post here that seemed similar to mine but the answers didn't do much justice. Does anyone know why this error is occurring and how I can get rid of it?
I'd try this: First search your Program Files directory to see where kernel32.lib is installed, then check the Library Directories listed in your project's VC++ Directories property page and verify that the paths are correct.
This was triggered by path mix-ups between multiple SDK installations for my VS2017 installation. I used the VS2017 installer to remove all Win10 SDKs and Toolsets (140 and 141), updated my installation, then re-installed them via the VS2017 installer. After that, problem solved.
Приложение выполняется или загружается в отладчике
Если filename — имя исполняемого файла или связанный с ним PDB-файл, см. раздел Если приложение уже запущено. Затем проверьте, загружен ли он в отладчик. Чтобы устранить эту проблему, перед повторным созданием программы закройте программу и выгрузите ее из отладчика. Если приложение открыто в другой программе, например в редакторе ресурсов, закройте его. Если программа не отвечает, может потребоваться завершить процесс с помощью диспетчера задач. Также может потребоваться закрыть и перезапустить Visual Studio.
Библиотеки в проектах из сетевых или других источников
При построении проекта, скопированного с другого компьютера, расположения установки библиотеки могут отличаться. Для сборок из командной строки убедитесь, что для сборки правильно заданы пути к переменной среды LIB и библиотеке. в Visual Studio можно просмотреть и изменить текущие пути к библиотекам, заданные на страницах свойств проекта. на странице VC++ каталоги выберите элемент управления "раскрывающийся список" для свойства каталоги библиотек , а затем нажмите кнопку изменить. В разделе вычисленное значение диалогового окна каталоги библиотек перечислены текущие пути поиска файлов библиотек. Обновите эти пути, чтобы они указывали на локальные библиотеки.
Не удается открыть файл библиотеки Майкрософт
Не задана среда командной строки INCLUDE или LIB
Если компилятор вызывается из командной строки, для указания путей поиска часто используются переменные среды. Если путь поиска, описанный в переменной среды include или lib , задан неправильно, может быть сформирована ошибка C1083. Мы настоятельно рекомендуем использовать ярлык командной строки разработчика, чтобы задать базовую среду для сборок с командной строкой. Дополнительные сведения см. в разделе сборка C/C++ в командной строке. Дополнительные сведения об использовании переменных среды см. в разделе инструкции. Использование переменных среды в сборке.
Библиотеки для розничной торговли, отладки или конкретной платформы
Эта ошибка может возникнуть при первой сборке для новой целевой платформы или конфигурации, например в розничной торговле или ARM64. в интегрированной среде разработки проверьте, установлены ли набор инструментов платформы и Windows SDK версии , указанной на странице свойств общие . также убедитесь, что необходимые библиотеки доступны в каталогах библиотек , указанных на странице свойств каталоги VC++. Проверьте свойства каждой конфигурации, например Debug, Retail, x86 или ARM64. Если одна сборка работает, но другая нет, Сравните параметры обоих параметров. Установите все отсутствующие необходимые инструменты и библиотеки.
Проблемы с библиотекой сторонних производителей и vcpkg
если вы видите эту ошибку при попытке настроить библиотеку стороннего производителя в рамках сборки, рассмотрите возможность использования vcpkg, диспетчера пакетов C++ для установки и сборки библиотеки. vcpkg поддерживает большой и растущей список библиотек сторонних производителейи задает все свойства конфигурации и зависимости, необходимые для успешной сборки в рамках проекта.
Не удается открыть сторонний файл библиотеки
Существует несколько распространенных причин этой проблемы.
Путь к файлу библиотеки может быть неверным или не заключен в двойные кавычки. Или, возможно, вы не указали его для компоновщика.
Возможно, вы установили 32-разрядную версию библиотеки, но при этом собираетесь на 64 бит или наоборот.
Библиотека может зависеть от других библиотек, которые не установлены.
Может потребоваться предоставить каталог библиотеки, переопределяющий каталог стандартной библиотеки. В командной строке используйте параметр /libpath . В интегрированной среде разработки используйте свойство Дополнительные каталоги библиотек на странице свойств " Общие" компоновщика > свойств > конфигурации для проекта.
Убедитесь, что установлены все версии библиотеки, необходимые для создаваемых конфигураций. воспользуйтесь программой управления пакетами vcpkg , чтобы автоматизировать установку и настройку для многих распространенных библиотек. По возможности лучше создавать собственные копии сторонних библиотек. Затем вы убедитесь, что все локальные зависимости библиотек созданы для тех же конфигураций, что и ваш проект.
Недостаточно места на диске
Эта ошибка может возникать, если на диске недостаточно места. Компоновщик использует временные файлы в нескольких ситуациях. Даже если на диске достаточно места, большие ссылки могут выпустить или фрагментировать свободное место на диске. Рассмотрите возможность использования параметра /OPT (оптимизация) . выполнение транзитного исключения COMDAT считывает все объектные файлы несколько раз.
13 Answers 13
Check the VC++ directories, in VS 2010 these can be found in your project properties. Check whether $(WindowsSdkDir)\lib is included in the directories list, if not, manually add it. If you're building for X64 platform, you should select X64 from the “Platform” ComboBox, and make sure that $(WindowsSdkDir)\lib\x64 is included in the directories list.
There are a lot of directories. How do I know which one to add it to? For example, there's Executable Directories, Include Directories, etc. Here's a screen shot.
You'll probably need to modify all of them. Bin directory of the sdk goes in the executable directories property, the lib directory goes in the library and so on
You added them as an environment variable or a full path. If its the fOrmer, did you check if that variable was recognised by VS
I simply copy-pasted $(WindowsSdkDir)\lib between the semi-colons ; where I did not see one in the full path.
Well, you need to check if that variable exists.. Simply from the vc++ directories windows, click on any value box, you'll notice an drop arrow, click that and select edit. From the new dialog that popped up, expand macros and see if $(WindowsSdkDir) exists and make sure that the path it refers to is valid. I not then you can simply replace $(WindowsSdkDir) mentioned in my answer with the full path of the sdk.
Change the platform toolset to: "Windows7.1SDK" under project properties->configuration properties->general
This worked instantaneously for me. I had (over time) installed a few tools, and when I came back to my VC++ project, it would not compile (missing headers) etc. I started to hand code include paths, that worked, then I hit link errors, then I tried this solution, and as I said, it just worked!! Many thanks.
Make sure you have in VC++ directories (Right click project, Click Property Page),
- Include Directories: $(IncludePath)
- List item Library Directories: $(LibraryPath)
For command line (i.e. - makefile) users only:
- When you install VC++ Express, it is 32-bit only. So, things go into C:\Program Files (x86).
- Then, you decide to upgrade to 64-bit capabillities. So, you install the SDK. But it is 64-bit capable. So, things go into C:\Program Files.
(Don't miss the "v7.0A" to "v7.1" change, as well.)
Add lib path of WindowsSdks in project->properties->Configuration Properties->VC++ Directories -> Library directories.
I added following path and error goes::
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib;
I got a similar error, the problem stopped when I checked my "Linker -> Input -> Additional Dependencies" list in the project properties. I was missing a semi colon ";" just before "%(AdditionalDependencies)". I also had the same entry in twice. You should edit this list separately for Debug and Release.
+ vote for reminding me that settings change when switching from debug to release, or Win32 to x64. Bah, this project I'm working on his a lot of pre-reqs set before you can do anything, and I made a bonehead mistake and forgot to switch to the correct configuration before tweaking all the values.
I had a differnt problem on Windows 10 with Visual Studio 2017 but with the same effects. I think my problems came down to VS being installed onto a drive other than "C:\". I solved the problem by Reinstalling Windows 10 SDK
First I had to uninstall the Windows SDK (there were two versions installed). Then ran the executable. Once installed, ran visual studio and it worked fine.
I just met and solved this problem by myself. My problem is a little different. I'm using visual studio on Windows 10. When I create the project, the Target Platform Version was automatically set to 10.0.15063.0 . But there is no kernel32.lib for this version of SDK, neither are other necessary header files and lib files. So I modified the Target Platform Version to 8.1 . And it worked.
Environment:
- Windows 10
- Visual Studio 2015
- Visual C++
Solution:
- Open the project's Property Page ;
- Navigate to General page;
- Modify Target Platform Version to the desired target platform (e.g. 8.1 ).
gero's solution worked for me.
In Visual Studios 2012, take the following steps.
- Go to Solution Explorer
- Right click on your project
- Go to Properties
- Configuration Properties -> General
- Platform Toolset -> change to Windows7.1SDK
If the above solution doesn't work, check to see if you have $(LibraryPath) in Properties->VC++ Directories->Library Directories. If you are missing it, try adding it.
OS : Win10, Visual Studio 2015
Solution : Go to control panel ---> uninstall program ---MSvisual studio ----> change ---->organize = repair
and repair it. Note that you must connect to internet until repairing finish.
Today in Visual Studio 2017 I had the same problem.
The cause in my case turned out to be a bad environment setting in NETFXSDKDir ( NETFXSDKDir=C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1 ). It needs to be instead NETFXSDKDir=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x86 . Specifically, as set in this batch file (my directory actually has 4 different files) for the Command Prompt for VS2017:
as I am reluctant to change one of the "as installed" batch files… even more as that batch file calls another yet another:
. instead for my specific C++ command-line app, I simply added the explicit path text: ;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x86 for a total string in "Library Directories" like this: $(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x86 . (Right click on project, Properties → Configuration Properties → VC++ Directories → Library Directories.) That resolved my "fatal error LNK1104: cannot open file 'kernel32.lib'" error. I found that hint in this GitHub issue.
Note this is reproducible in Visual Studio 2017 Enterprise 2017 Version 15.1 (26403.0) even after successful "repair" install… when creating a new Visual C++ Win32 Console Application and attempting to compile.
In fact, unless a blank application is created, the default template also includes reference to and with that I get this additional error: Error (active) E1696 cannot open source file "SDKDDKVer.h" . So I created an empty C++ project.
Указано неверное имя файла
При вводе имени файла допущена ошибка. Например, примененная к объекту директива
может не найти файл, который вы хотели. Большинство файлов заголовков стандартной библиотеки C++ не имеют расширения h. . Чтобы устранить эту проблему, убедитесь, что указано правильное имя файла, как в следующем примере:
обновленные библиотеки Windows SDK
Другие распространенные проблемы
Параллельная синхронизация сборок
если вы используете параллельный вариант сборки, Visual Studio мог заблокировать файл в другом потоке. Чтобы устранить эту проблему, убедитесь, что один и тот же объект кода или библиотека не встроены в несколько проектов. Используйте зависимости сборки или ссылки проекта, чтобы выбрать в проекте созданные двоичные файлы.
Не удается открыть файл "К:\програм.ОБЖ"
Чтобы устранить эту проблему для сборок из командной строки, проверьте параметры параметра /libpath . Также проверьте пути, указанные в переменной среды LIB, и пути, указанные в командной строке. Обязательно используйте двойные кавычки для всех путей, содержащих пробелы.
Чтобы устранить эту проблему в интегрированной среде разработки, при необходимости добавьте двойные кавычки для следующих свойств проекта:
свойство каталоги библиотеки на странице свойств конфигурации > VC++ каталоги
Свойство " Дополнительные каталоги библиотек " на странице свойств " Общие" компоновщика > свойств > конфигурации
Свойство Дополнительные зависимости на странице свойств входных данных компоновщика > свойств > конфигурации .
Дополнительные причины
Вы установили пакет SDK или библиотеку стороннего производителя, но после установки пакета SDK или библиотеки не открывали новое окно командной строки разработчика. Если пакет SDK или библиотека добавляет файлы в путь поиска включаемых файлов, может потребоваться открыть новое окно командной строки разработчика, чтобы получить эти изменения переменных среды.
Файл использует управляемый код, но параметр /clr компилятора не указан. Дополнительные сведения см. в разделе /clr (компиляция среды CLR).
Файл компилируется с использованием другого /analyze параметра компилятора, чем используется для предварительной компиляции заголовков. При предварительной компиляции заголовков для проекта все должны использовать одни и те же /analyze Параметры. дополнительные сведения см. в разделе /analyze (Code Analysis).
файл или каталог был создан подсистема Windows для Linux, учитывается регистр в каждом каталоге, и указанный регистр пути или файла не соответствует регистру пути или файла на диске.
Файл, каталог или диск доступен только для чтения.
Visual Studio или средства командной строки не имеют достаточных разрешений для чтения файла или каталога. это может произойти, например, когда файлы проекта имеют разные права владения, чем процесс, выполняемый Visual Studio или программ командной строки. иногда эту ошибку можно устранить, запустив Visual Studio или командную строку разработчика от имени администратора.
Недостаточно дескрипторов файлов. Закройте часть приложений и повторите компиляцию. Эта ситуация маловероятна в обычных условиях. Однако она может возникать при построении крупных проектов на компьютере с ограниченной физической памятью.
Слишком большие файлы
Эта ошибка может возникать из-за слишком большого размера файла. Библиотеки или объектные файлы, размер которых превышает гигабайт, может вызвать проблемы для 32-разрядного компоновщика. Возможным исправлением этой проблемы является использование 64-разрядного набора инструментов. Дополнительные сведения о том, как использовать 64-разрядный набор средств в командной строке, см. в разделе как включить 64-разрядный Visual C++ набор инструментов в командной строке. сведения о том, как использовать 64-разрядный набор инструментов в интегрированной среде разработки, см. в разделе использование MSBuild с 64-разрядным компилятором и инструментами. также см. статью Stack Overflow post: как сделать Visual Studio использовать собственную цепочки инструментов amd64.
Дополнительные зависимости, указанные в интегрированной среде разработки
При указании отдельных библиотек в свойстве Дополнительные зависимости используйте пробелы для разделения имен библиотек. Не используйте запятые или точки с запятой. При использовании пункта меню Правка для открытия диалогового окна Дополнительные зависимости используйте символы новой строки для разделения имен, а не запятых, точек с запятой или пробелов. Также используйте символы новой строки при указании путей к библиотекам в папках библиотек и дополнительных каталогах библиотек .
Проблемы с путями или именами файлов
Включена неправильная версия имени файла
Проблемы в переменной среды TMP
Если имя файла LNKnnn, то это имя файла, созданного компоновщиком для временного файла. Каталог, указанный в переменной среды TMP, может не существовать. Кроме того, для переменной среды TMP может быть задано несколько каталогов. Для переменной среды TMP должен быть указан только один путь к каталогу.
Возможно, файл заблокирован или используется
Если для изменения или доступа к файлу используется другая программа, файл может быть заблокирован. Попробуйте закрыть файл в другой программе. иногда другая программа может быть Visual Studio сама по себе при использовании параметров параллельной компиляции. Если отключить параметр параллельной сборки, то эта ошибка исчезнет, а это проблема. Эта проблема также может быть вызвана другими системами параллельной сборки. Будьте внимательны при задании зависимостей файлов и проектов, чтобы порядок сборки был правильным. В некоторых случаях рекомендуется создать промежуточный проект для принудительного создания последовательности зависимостей для общего файла, который может быть создан несколькими проектами. Иногда антивирусные программы временно блокируют недавно измененные файлы для проверки. Если возможно, рассмотрите возможность исключения каталогов сборки проекта из антивирусного сканера.
Пример
В следующем примере создается ошибка C1083, если файл "test.h" заголовка не существует в исходном каталоге или в пути поиска include.
Сведения о том, как создавать проекты C/C++ в интегрированной среде разработки или в командной строке, а также сведения о настройке переменных среды см. в разделе проекты и сборки систем.
Мне удалось устранить ряд ошибок которые я писал в теме.
Но теперь "вываливается" другая ошибка: 1>LINK : fatal error LNK1104: не удается открыть файл "Pr1.lib"
Пробывал подключать *.lib вот так:
Visual studio ошибка 2 error lnk1104: не удается открыть файл 'kernel32.lib'
Я удалил visual studio express, и установил visual studio profissional. И при сборке простой.
Error LNK1104: не удается открыть файл "kernel32.lib"
В VS 2013 выходит такая ошибка Ошибка 1 error LNK1104: не удается открыть файл.
Fatal error LNK1104: не удается открыть файл "ucrt.lib"
Вылетает ошибка LINK : fatal error LNK1104: не удается открыть файл "ucrt.lib" при компиляции.
не удается открыть входной файл "libMinHook.x64.md.140_xp.lib"
помогите решить проблему не может открыть либ или что .
Я указывал в свойствах проекта как описано в теме, но при этом у меня появляются ошибки которые я устранил, посмотри в этой теме
Устранил ошибки которые в теме. И появилась ошибка: 1>LINK : fatal error LNK1104: не удается открыть файл "Pr1.lib".
Когда пытаюсь устранить ошибку с *.lib, путем добавления путей в проекте в св-вах, возникают опять ошибки.
Что не понятно? Я объясню, спрашивай
1> Для всех выходных данных обновления не требуется.
1>Link:
1> Создается библиотека C:\Users\DNS\Documents\Visual Studio 2005\Projects\Pr1\Debug\Pr1.lib и объект C:\Users\DNS\Documents\Visual Studio 2005\Projects\Pr1\Debug\Pr1.exp
1>Pr1.exp : warning LNK4070: директива /OUT:HAL_SCReader.dll в .EXP отличается от имени выходного файла "C:\Users\DNS\Documents\Visual Studio 2005\Projects\Pr1\Debug\Pr1.exe"; директива игнорируется
1>C:\Users\DNS\Documents\Visual Studio 2005\Projects\Pr1\Debug\Pr1.exe : warning LNK4086: точка входа "_mainCRTStartup" не является __stdcall с аргументами из 12 байт; образ нельзя запустить
1>HAL_SCReader.obj : error LNK2019: ссылка на неразрешенный внешний символ _protWriteEx в функции _crInit
1>HAL_SCReader.obj : error LNK2019: ссылка на неразрешенный внешний символ _SCardDisconnect@8 в функции _crInit
1>HAL_SCReader.obj : error LNK2019: ссылка на неразрешенный внешний символ _SCardConnectA@24 в функции _crInit
1>HAL_SCReader.obj : error LNK2019: ссылка на неразрешенный внешний символ _SCardEstablishContext@16 в функции _crInit
1>HAL_SCReader.obj : error LNK2019: ссылка на неразрешенный внешний символ _cmnMemSet в функции _crInit
1>HAL_SCReader.obj : error LNK2019: ссылка на неразрешенный внешний символ _bin2hex в функции _crOpenSession
1>HAL_SCReader.obj : error LNK2019: ссылка на неразрешенный внешний символ _SCardStatusA@28 в функции _crOpenSession
1>HAL_SCReader.obj : error LNK2019: ссылка на неразрешенный внешний символ _SCardReconnect@20 в функции _crOpenSession
1>HAL_SCReader.obj : error LNK2019: ссылка на неразрешенный внешний символ _SCardTransmit@28 в функции __crAPDU
1>HAL_SCReader.obj : error LNK2019: ссылка на неразрешенный внешний символ _cmnMemCopy в функции __crAPDU
1>HAL_SCReader.obj : error LNK2019: ссылка на неразрешенный внешний символ _SCardReleaseContext@4 в функции _crDeinit
1>HAL_SCReader.obj : error LNK2019: ссылка на неразрешенный внешний символ _SCardCancel@4 в функции _crDeinit
1>C:\Users\DNS\Documents\Visual Studio 2005\Projects\Pr1\Debug\Pr1.exe : fatal error LNK1120: 12 неразрешенных внешних элементов
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.89
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
VS2013 LNK1104 - ошибка статической линковки библиотек в консольном приложении
Visual Studio 2013. В решении три проекта (C++): консольное приложение и две статических.
ошибка LNK1104
Выводит ошибку при сборке LNK1104.В выводе пишет " LINK : fatal error LNK1104: не удается.
Ошибка компиляции LNK1104
Не могу понять почему ошибка, ведь все библиотеки подключены(
В свойствах проекта, C++, дополнительные каталоги включения. кст на d3d9.lib, подключенный таким же образом, компиллятор не ругается
А надо в настройки компоновщика пути до либов прописать, а не только до хэдэров в настройках компилятора.
Т.е. зайти в свойства -> свойства конфигурации -> компоновщик, а дальше смотреть -> ввод -> дополнительные зависимости? или как? если вы имеете ввиду первый вариант, то я его уже пробовал, не вышло. и ругается он конкретно на d3dx9.lib, а d3d9.lib подключает без вопросов.
У меня есть функция инициализации Direct3D для которой нужен d3d9.lib и эта функция компилируется нормально, без ошибок. А все, что связано с d3dx9.lib не работает и компилятор выдает LNK1104. Если убрать pragma comment, то выдает ошибку на неразрешенный внешний символ, т.е. нашел прототип функции, но не нашел определение
Всякое бывает. Люди иногда сами говорят что в проблема в том-то. а оказывается она совсем в другом.
Ну давай хотя бы скрины.
Кстати, не найду писал кто или нет.. там эта библиотека то есть?
линкер не может найти эту библиотеку. раскопируй ее во все директории, "вокруг твоего проекта". только не сразу, а сперва на уровень выше - попробовал, на уровень ниже - попробовал. и т.д. в конце-концов он ее найдет. тогда и поймешь, где он ищет (читать и разбираться ведь некогда? значит, нужно запастись терпением: два дня работы в поле могут сэкономить два часа в библиотеке или в лаборатории). или, если ты на диске c: работаешь, скопируй ее в корень и укажи c:\d3dx9.lib. сходу найдет и присобачит.
novi4ok, это плохой вариант. ТС давно бы решил проблему если бы делал так, как ему советуют. Думаю он просто где-то напутал. Показал бы скрины, код, и я думаю все сразу бы встало на свои места.
Эта ошибка возникает, когда компоновщику не удается открыть файл для чтения или записи. Ниже перечислены две наиболее распространенные причины этой проблемы.
Программа уже запущена или загружена в отладчике, и
пути к библиотеке неверны или не заключены в двойные кавычки.
Существует множество других возможных причин этой ошибки. Чтобы сократить их, сначала проверьте Тип файла. Затем используйте следующие разделы для выявления и исправления конкретной проблемы.
Не удается открыть приложение или его PDB-файл
Приложение заблокировано антивирусным сканированием
Антивирусные программы часто временно блокируют доступ к вновь созданным файлам, особенно .exe и .dll исполняемые файлы. Чтобы устранить эту проблему, попробуйте исключить каталоги сборки проекта из антивирусного сканера.
Windows библиотеки, например kernel32. lib
Если файл, который не удается открыть, является одним из стандартных файлов библиотеки, предоставляемых корпорацией Майкрософт, например kernel32. lib, может возникнуть ошибка конфигурации проекта или ошибка установки. убедитесь, что Windows SDK установлен. если для проекта требуются другие библиотеки майкрософт, такие как MFC, убедитесь, что компоненты MFC также установлены установщиком Visual Studio. Вы можете снова запустить установщик, чтобы добавить дополнительные компоненты в любое время. Дополнительные сведения см. в Изменение Visual Studio. Используйте вкладку отдельные компоненты в установщике, чтобы выбрать конкретные библиотеки и пакеты SDK.
Предкомпилированные заголовки еще не скомпилированы
Если проект настроен для использования предварительно скомпилированных заголовков, необходимо создать соответствующие .pch файлы, чтобы можно было скомпилировать файлы, использующие содержимое заголовка. например, pch.cpp файл ( stdafx.cpp в Visual Studio 2017 и более ранних версий) автоматически создается в каталоге проекта для новых проектов. Сначала необходимо скомпилировать этот файл, чтобы создать предкомпилированные файлы заголовков. В типичном проекте процесса сборки это выполняется автоматически. Дополнительные сведения см. в разделе Создание предкомпилированных файлов заголовков.
Не удается открыть файл, созданный проектом
Эта ошибка может возникать, если файл filename еще не существует, когда компоновщик пытается получить к нему доступ. Это может произойти, когда один проект зависит от другого в решении, но проекты создаются в неправильном порядке. Чтобы устранить эту проблему, убедитесь, что ссылки проекта заданы в проекте, который использует этот файл. После этого отсутствующий файл будет создан до того, как он потребуется. дополнительные сведения см. в статьях добавление ссылок в проекты Visual Studio C++ и управление ссылками в проекте.
Слишком длинные пути
Эта ошибка может появиться, когда путь к файлу расширяется до 260 символов. При необходимости измените структуру каталогов или Сократите имена папок и файлов, чтобы сократить пути.
Библиотека vccorlib. lib
Файл находится в проекте, но не в пути поиска включаемых файлов
Чтобы устранить эту проблему, исправьте путь, используемый компилятором для поиска включаемого или импортируемого файла. В новом проекте используются пути поиска include по умолчанию. Может потребоваться изменить путь поиска include, чтобы добавить каталог для проекта. При компиляции в командной строке добавьте путь к переменной среды include или /I параметр компилятора, чтобы указать путь к файлу.
чтобы задать путь к каталогу включения в Visual Studio, откройте диалоговое окно страницы свойств проекта. выберите VC++ каталоги в разделе свойства конфигурации в левой области, а затем измените свойство включаемые каталоги . дополнительные сведения о каталогах для отдельных пользователей и проектов, поиск которых выполняется компилятором в Visual Studio, см. в разделе страница свойств VC++ directories. Дополнительные сведения о параметре компилятора см. в /I разделе /I (дополнительные каталоги включаемых данных).
Файл не включен в путь поиска включаемых файлов
Это указывает компилятору искать файл в том же каталоге, который содержит исходный файл, а затем искать в других местах, заданных средой сборки. Если кавычки содержат абсолютный путь, компилятор выполняет поиск файла только в этом расположении. Если кавычки содержат относительный путь, компилятор выполняет поиск файла в каталоге относительно исходного каталога.
Если имя заключено в угловые скобки,
Если включаемые файлы находятся в другом каталоге относительно исходного каталога и в директивах Include используется относительный путь, то вместо угловых скобок следует использовать двойные кавычки. Например, если файл myheader.h заголовка находится в подкаталоге именованных заголовков проекта, в этом примере не удается найти файл и вызывается C1083:
но этот пример работает:
Библиотеки vcruntime с отслеживанием версий
Неправильные разрешения для файла
Эта ошибка может возникать, если у вас недостаточно разрешений для доступа к файлу filename. Это может произойти, если для доступа к файлам библиотеки в защищенных системных каталогах используется обычная учетная запись пользователя. Или, если вы используете файлы, скопированные с других пользователей, у которых все еще есть исходный набор разрешений. Чтобы устранить эту проблему, переместите файл в каталог проекта с возможностью записи. Если перемещенный файл имеет недоступные разрешения, выполните команду takeown.exe в окне командной строки администратора, чтобы стать владельцем файла.
Читайте также: