Я пытаюсь скомпилировать исходный код отсюда 1 с помощью Visual Studio 2019 и получаю следующие две ошибки:
Серьезность | Код | Описание | Проект | Файл | < td>Строка
Ошибка | C1083 | Невозможно открыть включаемый файл: 'stdlib.h': Нет такого файла или каталога< /td> | SQLite3 | shell.c | 85 |
Ошибка | C1083 td> | Не удается открыть включаемый файл: 'malloc.h': нет такого файла или каталога | SQLite3 | xmmintrin.h | 79 |
таблица>
Я пытался устранить эту проблему с помощью поиска Google, но мне не удалось устранить эти две ошибки.
Я уверен, что это проблема конфигурации VS2019, но она может быть связана с исходным кодом.
Пожалуйста, может ли кто-нибудь, кто разбирается в этой конкретной проблеме, помочь мне определить решение этих двух проблем? Спасибо.
1 Это ссылка для скачивания с описанием:
(2) Гюнтер Хик (gunter_hick) 2021-01-28 10:13:08 в ответ на 1 [ссылка] [источник]
(3) Анонимно 2021-01-28 10:23:01 в ответ на 2 [ссылка] [источник]
Спасибо за ответ. Я использую:
Microsoft Visual Studio Enterprise 2019, версия 16.8.4 `
в Windows 10. Версия VS2019 полностью обновлена.
VS не находит заголовки стандартной библиотеки Linux.
Я не понимаю этого, то есть отсылки к linux.
не имеет ничего общего с SQLite
Не напрямую, я понимаю это; однако я пытаюсь скомпилировать SQLite3.
Необходимо правильно указать путь включения для VS.
Пожалуйста, дайте мне подсказку (C/C++ не моя область), чтобы помочь мне сделать это.
(4) От TripeHound, 28 января 2021, 10:50:05, в ответ на 3 [ссылка] [источник]
Ссылка на «linux» (ИМХО) немного вводит в заблуждение: они являются частью «стандартных заголовков библиотеки C» и должны присутствовать как в Linux, так и в Windows (по крайней мере, при наличии подходящих инструментов разработки, таких как как Visual Studio).
Из коробки (по моему опыту) Visual Studio ДОЛЖНА знать, где они находятся, и ДОЛЖНА знать, как их использовать: обычно вам придется предпринять преднамеренные шаги, чтобы она их не нашла.
Например, используя версию Visual Studio 2019 Community, я просто загрузил этот zip-файл и — с включенной средой Visual Studio (т. е. запустив VsDevCmd.bat) — могу просто ввести:
и без проблем создает shell.exe.
Итак: как вы пытаетесь скомпилировать? Через IDE или из командной строки? Вы пытаетесь скомпилировать оболочку или связать код SQLite с существующим проектом? Изменили ли вы какие-либо параметры по умолчанию в среде IDE?
(5) Анонимно 28 января 2021 г., 11:36:32, в ответ на 4 [ссылка] [источник]
Как вы пытаетесь скомпилировать?
У меня есть Visual Studio 2019 Enterprise. Я извлек файл из загрузки и скопировал следующий файл в новый каталог:
Из интегрированной среды разработки VS2019
- Я выбираю Файл | Новый | Создайте проект из существующего кода и выберите мой каталог, в котором находятся указанные выше файлы.
- Я выбираю Построить | Пакетная сборка и нажмите "Перестроить".
Это относится к ошибкам, о которых я сообщил в исходном сообщении.
Насколько мне известно, я не вносил никаких изменений в конфигурацию VS2019.
Я полагаю, что это командная строка Visual Studio. Я нашел несколько версий CL.EXE. Использование этой версии:
"D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.16.27023bin\Hostx86\x86\cl.exe"
(Я не могу найти командную строку для VS2019, только для VS2017.)
Я попробовал ваше предложение, а именно
Это дает мне следующее:
Если внимательно посмотреть, это именно те ошибки, которые выдал мне VS2019 — см. выше.
Так что дальше я не спешу. CL.EXE не будет просматривать конфигурации VS2019.
Что мне кажется странным, так это то, что, используя тот же подход, я смог скомпилировать исходный код для версии 3.33 с помощью VS2019, который теперь больше не компилируется.
Я все еще кое-что упускаю!
(6) Автор: анонимно, 28 января 2021, 12:00:43, в ответ на 5 [ссылка] [источник]
Тот же результат при использовании командной строки VS2019, которую я запускал из IDE.
(7) Ричард Хипп (drh) 28 января 2021 г., 12:42:46 в ответ на 5 [ссылка] [источник]
Я предполагаю, что ваша установка VS2019 неисправна. Любой компилятор C, который не может найти "stdlib.h", имеет проблемы.
(8) Билл Уэйд (wwade) 28 января 2021 г., 12:42:58 в ответ на 6 [ссылка] [источник]
Используя установщик VS GUI, убедитесь, что вы выбрали и установили "Разработка для настольных ПК с помощью C++". Если вы это сделали, stdlib.h должен быть доступен.
(9) Кит Медкалф (kmedcalf) 28 января 2021 г., 13:05:38 в ответ на 5 [ссылка] [источник]
Запустите VsDevCmd.bat, затем посмотрите на настройку переменной INCLUDE, набрав SET INCLUDE
Вы должны вернуть целую кучу таких вещей:
В сообщении говорится, что файл не может быть найден при поиске по пути INLCUDE. Либо из-за дерьмовых врожденных недостатков дизайна (пробелы в именах файлов, использование буквы диска, отличной от диска C, и т. д., вещи, которые постоянно раздражали Windows с самого начала).
Если когда-то это работало, а теперь нет, это означает, что вы изменили что-то между тем и сейчас, что вызвало эту ситуацию, и вам нужно «не менять» все, что вы изменили. Или вы можете попробовать указать установщику Visual Studio «исправить» себя или удалить и переустановить его.
(10) Автор: аноним, 28 января 2021, 14:04:14, в ответ на 7 [ссылка] [источник]
Любой компилятор C, который не может найти "stdlib.h", имеет проблемы.
Каким-то образом некоторые настройки в VS2019 "установлены/перемещены/повреждены", что говорит VS2019 искать stdlib.h там, где его нет.
Как я уже говорил, C/C++ мне чужд, но мне удалось скомпилировать v3.33 ранее (но и этого больше не получается). Затем я попробую предложение Кита [9].
(11) Кит Медкалф (kmedcalf) 28 января 2021 г., 14:38:13, в ответ на 9 [ссылка] [источник]
Обратите внимание, что я нашел stdlib.h в C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt
это то, что установщик Visual Studio называет "Windows Universal C Runtime". Вам необходимо убедиться, что на странице отдельных компонентов установщика VS выбраны «Windows 10 SDK» какой-либо версии и «Windows Universal C Runtime».
Похоже, что Microsoft играла в музыкальные стулья и перемещала вещи, когда недавно обновляла свои подгузники, снова переименовывая вещи.
(12.2) Кит Медкалф (kmedcalf) 28 января 2021 г., 16:11:57, отредактировано из 12.1 в ответ на 11 [источник]
У меня установлены следующие отдельные компоненты для работы компилятора командной строки. Похоже, это минимальный набор компонентов, необходимых для работы инструментов сборки Visual Studio.
Некоторые из них принудительно включаются самим установщиком, библиотеки с защитой от призраков я добавил вручную.
(13) Ларри Брасфилд (LarryBrasfield) 28 января 2021 г., 15:46:35 в ответ на 1 [ссылка] [источник]
Этот ответ предназначен для тех, у кого есть трудности с темой (треда).
В make-файле реализовано множество параметров и целей сборки. По умолчанию он создает оболочку CLI sqlite3.exe со статически связанной библиотекой SQLite. Можно сказать собрать библиотеку как DLL. Можно указать отладочную и обычную сборки. Чтобы увидеть все варианты, изучите элементарный синтаксис make и изучите make-файл.
Привет! Спасибо за это замечательное расширение!
У меня проблема с intellisense и включение ошибок, которые я не могу отладить. Наш проект отлично строится и работает с расширением и минимальной настройкой.
"C_Cpp.default.configurationProvider": установлен параметр "ms-vscode.cmake-tools". Однако у меня есть некоторые ошибки, из-за которых intellisense возвращается к синтаксическому анализу тегов. И они обычно вращаются вокруг сообщения Cannot open source file "stdlib.h" .
Я знаю из другой проблемы (которую я в настоящее время не могу найти, извините), что это, вероятно, как-то связано с системой включения заказов в нашем проекте. Я думаю, что проблема заключалась в том, что внутри c++ stdlib.h есть include_next("stdlib.h"), который, по-видимому, терпит неудачу, потому что ожидается, что usr/include будет в последней позиции списка включения (что, вероятно, не так? ).
Обратите внимание, что эта проблема возникает только в MacOS с XCode 12. В Windows (с Visual Studio 19) с практически такими же настройками все в порядке! Конечно, набор системных компонентов зависит от платформы.
Включение ведения журнала отладки в расширении c++ не дало особых сведений, но, может быть, у вас есть предложение?
Мы будем очень признательны за любую помощь!
Текст был успешно обновлен, но возникли следующие ошибки:
konradglas прокомментировал 10 ноября 2020 г.
Это мой вывод. Я опустил все специфичные для проекта включения (заменил на PROJECT_INCLUDES). Я надеюсь, что это полезно. Что мне здесь кажется странным, так это то, что он использует std=gnu++17 вместо std=c++17? Большое спасибо за помощь!
konradglas прокомментировал 10 ноября 2020 г.
Ага. нашел корень проблемы. Мне пришлось установить set_target_properties(Project PROPERTIES CXX_EXTENSIONS OFF). Теперь он использует c++17 вместо gnu++17. Теперь все хорошо, спасибо за помощь!
прокомментировал bobbrow 11 ноября 2020 г.
Рад слышать, что это исправило для вас!
Вы не можете выполнить это действие в данный момент.
Вы вошли в другую вкладку или окно. Перезагрузите, чтобы обновить сеанс. Вы вышли на другой вкладке или в другом окне. Перезагрузите, чтобы обновить сеанс.
Я пытаюсь создать решение для Visual Studio Community 2017, но постоянно получаю сообщение об ошибке "Не удается открыть включаемый файл: 'stdio.h'".
Я прочитал несколько похожих вопросов, но не могу решить эту проблему. Похоже, что файл stdio.h вызывается в файле stdafx.h. Ниже приведены более подробные сведения. Есть предложения?
Сведения о системе:
- Windows 10
- Visual Studio Community 2017, версия 15.2 (26430.6) — Установленная разработка для настольных ПК с помощью C++ (скриншот: список установки)
Шаг 1. Я написал знаменитую фразу Hello, World! программа на С++.
Шаг 2. Я нажал Создать → Создать решение.
Проблема: 'stdio.h': нет такого файла или каталога. Полная ошибка:
Сведения об устранении неполадок и способы, которые я пробовал:
Свойства конфигурации* → Каталоги VC++ Включить каталоги $(VC_IncludePath);$(WindowsSDK_IncludePath);
Код в файле stdafx.cpp:
Код в файле stdafx.h:
Попытка: я попытался удалить последние две строки, но затем получил больше ошибок.
Ну, начнем с удаления включения stdafx.h, так как оно нестандартно и полностью ненужно в VS2017.
В любом случае это немного странно, поскольку должен существовать и работать в любом правильно настроенном компиляторе, даже в режиме C++.
@PaulStelian, если это так, возможно, моя ошибка была в основном вызвана тем, что моя установка Windows SDK не работала должным образом с моей установкой Visual Studio. См. ответ ниже.
14 ответов 14
У меня возникла такая же проблема с переносом проекта из Visual Studio 2013 в Visual Studio 2017.
Исправить: измените Свойства → Общие → Версия Windows SDK на 10
Это сработало для меня. Спасибо! Я бы также добавил, что доступ к этим свойствам можно получить, щелкнув правой кнопкой мыши проект в обозревателе решений.
У меня была та же проблема после того, как я вообще ничего не изменил в проекте. Я бы предположил, может быть, что-то делать с обновлениями Windows? Была выбрана версия 10.something, но ни одна из них не была доступна, и она работала. Я предполагаю, что этого нового раньше не было, когда он работал.
В Microsoft Visual Studio Community 2017 15.7.1 у меня нет «Версии Windows SDK». Однако щелчок правой кнопкой мыши по решению и выполнение команды «Перенацелить решение» сработало.
Столкнулся с проблемой отсутствия stdlib.h и stdio.h (и, возможно, больше) после установки VS2017 Community на новый компьютер и переноса решения с VS2013 на VS2017.
Использовал предложение @Maxim Akristiny, но все равно получил сообщение об ошибке, касающееся совместимости набора инструментов. Однако сама VS предложила перенацелить решение, щелкнув правой кнопкой мыши решение в обозревателе решений, затем выбрав «Перенацелить решение» в меню и обновленную версию Windows SDK в раскрывающемся списке.
Теперь мои проекты строятся без проблем.
Обратите внимание, что вам может потребоваться сделать проект стартовым проектом, чтобы ретаргетинг заработал.
Я заметил (с грустью), что иногда приходится выходить из Visual Studio и перезапускать ее после любой этой возни.
В Microsoft Visual Studio Community 2017 15.7.1 у меня нет «Версии Windows SDK», как указано в ответе, получившем наибольшее количество голосов. Однако ваш ответ сработал нормально, и мне не пришлось ничего перезапускать.
Есть три способа решить эту проблему.
Переустановите Visual Studio
Мне это тоже помогло, потому что я понял, что, возможно, что-то не так с моим Windows SDK. Я использовал Windows 10, но с Windows SDK 8.1. У вас также может быть эта проблема.
Шаги. Откройте установщик Visual Studio > щелкните трехстрочную строку меню > Удалить > Перезагрузите компьютер > Откройте установщик Visual Studio > Установите то, что хотите, но убедитесь, что вы устанавливаете только последнюю версию Windows SDK 10, а не несколько ни 8.1.
При первой установке Visual Studio я получал сообщение об ошибке, в котором говорилось, что мне необходимо установить Windows SDK 8.1. Так я и сделал, используя опцию Modify установщика Visual Studio. Возможно, это была проблема, потому что я установил ее после того, как Visual Studio уже была установлена, или потому, что вместо этого мне был нужен SDK 10. На всякий случай я сделал полную переустановку.
МШаич
Выдающийся
Алабалчо
Рассудительный
Вам также следует убедиться, что вы установили необходимые средства разработки C++ вместе с Visual Studio.
Проверьте эту страницу, ближе к концу вы увидите, что было проверено во время установки.
Алабалчо
Рассудительный
Если вы по-прежнему не можете его найти, найдите, где этот файл хранится на вашем компьютере. Если вы повторно открываете старое решение, убедитесь, что среда (версия Windows SDK, версия компилятора и т. д.) настроена правильно
МШаич
Выдающийся
Если вы по-прежнему не можете его найти, найдите, где этот файл хранится на вашем компьютере. Если вы повторно открываете старое решение, убедитесь, что среда (версия Windows SDK, версия компилятора и т. д.) настроена правильно
Алабалчо
Рассудительный
Вам также следует убедиться, что вы установили необходимые средства разработки C++ вместе с Visual Studio.
Проверьте эту страницу, ближе к концу вы увидите, что было проверено во время установки.
МШаич
Выдающийся
Вам также следует убедиться, что вы установили необходимые средства разработки C++ вместе с Visual Studio.
Проверьте эту страницу, ближе к концу вы увидите, что было проверено во время установки.
Начало темы | Похожие темы | Форум | Ответы | Дата | tr>
---|
A | Проблема с созданием проекта C++ в Visual Studio 2017 | Общие обсуждения приложений | 5 | 25 ноября 2018 г. |
2 | Странная ошибка Visual Studio | Общие обсуждения приложений | 1< /td> | 10 сентября 2018 г. |
A | Справочная метка Visual Studio | Общие обсуждения приложений | 1 | 31 июля 2018 г. |
T | Что лучше для глаз: светлая/синяя тема или темная тема [visual studio] | Общие обсуждения приложений | 1 | 21 июля 2018 г. |
J < /td> | можно ли установить Visual Studio на один диск, а затем перенести все это на другой диск? | Общие обсуждения приложений | 4 | 29 декабря 2017 г. |
D | как установить региональный настройки для использования греческого языка для строк, отличных от Unicode? | Общие обсуждения приложений | 2 | 28 декабря 2017 г. |
Как изучить код Visual Studio C++, ранее использовавшийся Turbo C++ | Общие обсуждения приложений | 3 | 22 октября 2017 г. | tr>
A | Почему IDE такие сложные?! | Общие обсуждения приложений | 10 | 25 августа , 2017 |
A | Запуск Visual Studio | Общие обсуждения приложений | 5 | < td >23 августа 2017 г.
R | Код Visual Studio | Общие обсуждения приложений | 4< /td> | 30 декабря 2016 г. |
F | Код на Java в Visual Studio Pro 2017? | Общие приложения Обсуждение | 1 | 5 декабря 2016 г. |
Как задать вопрос "да" или "нет" с разными результатами в зависимости от ввода? | Общие обсуждения приложений | 3 | 7 сентября 2016 г. |
W | Чтение текстового файла Visual Studio 2015 C++ | Общие обсуждения приложений | 4 | 14 апреля 2016 г. |
M | Лицензия Visual Studio | Общие обсуждения приложений | 4 | 31 декабря 2015 г. | tr>
M | Visual Studio 2015 | Общие обсуждения приложений | 2 | 27 декабря 2015 г. td> |
S | Любые недостатки использования Visual Studio 2015 | Общие обсуждения приложений | 4 | < td >24 декабря 2015 г.
Удаление .node-gyp, .node, npm и Python | Общие обсуждения приложений | 2 | 24 ноября 2015 г. |
R | Справка HTML-кода | Общие обсуждения приложений | 3 | 6 ноября 2015 г. |
P | Visual Studio 2015 не очень хорошо работает для меня | < td >Общие обсуждения приложений 2 | 21 августа 2015 г. |
Visual Studio Express Edition и сообщество | Ап ps Общее обсуждение | 1 | 30 июля 2015 г. |
ПОПУЛЯРНЫЕ ТРЕКИ
- Инициатор Jwnt11
- 11 февраля 2022 г.
- Ответов: 2
- Запущено привратником
- Сегодня в 7:53
- Ответов: 1
- Инициатор Snicholas
- Сегодня в 6:02
- Ответов: 0
- Инициировано mgistr
- Вчера в 10:00
- Ответов: 0
- Инициатор Jimmymo21
- Суббота, 16:07
- Ответов: 0
- Инициатор dnu318
- Вчера в 9:36
- Ответов: 3
- Начато Turntables090
- Вчера в 15:01
- Ответов: 0
Модераторы онлайн
Поделиться этой страницей
Tom's Guide является частью Future plc, международной медиагруппы и ведущего цифрового издателя. Посетите наш корпоративный сайт.
© Future Publishing Limited Quay House, Амбери, Бат BA1 1UA.
Все права защищены. Регистрационный номер компании в Англии и Уэльсе 2008885.
Tom's Guide является частью Future plc, международной медиа-группы и ведущего цифрового издателя. Посетите наш корпоративный сайт.
© Future Publishing Limited Quay House, Амбери, Бат BA1 1UA. Все права защищены. Регистрационный номер компании в Англии и Уэльсе 2008885.
В проекте C++, когда вы включили заголовочный файл, но внутри проекта мы не можем получить доступ к этому заголовочному файлу, обычно мы получаем ошибку, связанную с невозможностью открытия исходного файла. Для исправления этой ошибки проверьте, доступен ли включаемый файл в пути включения проекта или нет.
не удается открыть файл с исходным кодом Visual Studio C++
Решение 1. Проверьте настройки проекта Visual Studio в разделе C++, установите флажок Включить каталоги и убедитесь, что Your_filename.h указывает правильный путь. После добавления правильных включаемых каталогов он устранит ошибку Visual Studio, не позволяющую открыть исходный файл.
включить каталоги в файл заголовка
Вы можете щелкнуть правой кнопкой мыши файл заголовка и открыть его в Visual Studio. Если файл указывает правильно, он откроется.
Щелкните правой кнопкой мыши и попробуйте открыть заголовочный файл
Если ваш включаемый файл не указывает правильно или вы не добавили в свой включаемый каталог, вы не сможете открыть его из Visual Studio.
если файл не включен в проект, выдайте эту ошибку
Решение 2. Еще одно решение. Если ваш заголовочный файл находится в другой папке/местоположении, вы можете включить путь к файлу непосредственно в заголовочный файл. Здесь вы можете использовать относительный путь или указать полный путь к заголовочному файлу.
Включить в зависимости от структуры папок вашего проекта и требований.
c++ не может открыть исходный файл iostream
Решение-1: ошибка открытия файла iostream обычно возникает, когда отсутствует $(IncludePath) внутри Свойства->Каталоги VC++->Включить каталоги. И вы по ошибке удалили Включить путь.
Решение 2. Другая возможная причина заключается в том, что при установке Visual Studio вы не выбрали пакеты C++.
Решение 3. Вы можете проверить это, включив stdafx.h при запуске (только для проектов Visual Studio)
Решение 4. Иногда такие ошибки возникают, когда на одном компьютере установлено несколько версий Visual Studio. Вы можете проверить Проекты и решения -> Каталоги VC++, правильно ли они добавлены для вашего проекта и указывают на правильное местоположение версии.
Для кода Visual Studio:
С++ не может открыть исходный файл iostream в коде Visual Studio. Это также может произойти, если в файл c_cpp_properties.json кода Visual Studio не добавлены правильные пути.
не удается открыть исходный файл «string»
Попробуйте выполнить следующие действия, чтобы устранить ошибку.
1) Параметр «Открыть каталоги VC++» в свойствах конфигурации Visual Studio
2) Будут доступны все ее значения каталогов (например, исполняемые каталоги), просто вам нужно выбрать раскрывающийся список и нажать «Изменить»
3 ) Удалите выбор «Наследовать от родителя»
4) Теперь просто нажмите «ОК», и вы не увидите никаких изменений в поле «Редактировать».
5) Вам нужно повторить это для всех каталогов. В конце исполняемые каталоги будут установите значение $(ExecutablePath), а для каталогов Include будет установлено значение $(IncludePath), аналогично всем каталогам
6) Теперь нажмите «Применить», а затем «ОК».
Вывод: невозможно открыть исходный файл c++
Мы предоставили решения для нескольких ошибок, связанных с невозможностью открытия исходного файла c++. Если вы попробуете данное решение, надеюсь, вы сможете устранить ошибку. Но если вы все еще получаете сообщение об ошибке, вы можете добавить свой комментарий и код. Мы постараемся решить и найти решение для вас. Удачного кодирования 🙂
Читайте также: