Не удается открыть исходный файл stdio h

Обновлено: 03.07.2024

Привет! Спасибо за это замечательное расширение!
У меня проблема с 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 г.

Рад слышать, что это исправило для вас!

Вы не можете выполнить это действие в данный момент.

Вы вошли в другую вкладку или окно. Перезагрузите, чтобы обновить сеанс. Вы вышли на другой вкладке или в другом окне. Перезагрузите, чтобы обновить сеанс.

МШаич

Выдающийся

Алабалчо

Рассудительный

Вам также следует убедиться, что вы установили необходимые средства разработки C++ вместе с Visual Studio.
Проверьте эту страницу, ближе к концу вы увидите, что было проверено во время установки.

Алабалчо

Рассудительный

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

МШаич

Выдающийся

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

Алабалчо

Рассудительный

Вам также следует убедиться, что вы установили необходимые средства разработки C++ вместе с Visual Studio.
Проверьте эту страницу, ближе к концу вы увидите, что было проверено во время установки.

МШаич

Выдающийся

Вам также следует убедиться, что вы установили необходимые средства разработки C++ вместе с Visual Studio.
Проверьте эту страницу, ближе к концу вы увидите, что было проверено во время установки.

< td >7 сентября 2016 г. < td >4 < /tr>

ПОПУЛЯРНЫЕ ТРЕКИ

  • Инициатор 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.

Я пытаюсь создать решение для 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. На всякий случай я сделал полную переустановку.

Я пытаюсь создать решение в Visual Studio Community 2017, но постоянно получаю сообщение об ошибке "Не удается открыть включаемый файл: 'stdio.h'". Я прочитал несколько подобных вопросов, но до сих пор не могу решить эту проблему. Похоже, файл stdio.h вызывается в файле stdafx.h. Ниже приведены более подробные сведения. Какие-либо предложения? (Я пока не могу вставлять изображения, поэтому, пожалуйста, нажмите на ссылку для скриншотов.)

Сведения о системе: Windows 10
Visual Studio Community 2017 v.15.2 (26430.6)
-- Установленная программа Desktop Development with C++ (скриншот: список установки)

Шаг 1. Я написал знаменитую программу Hello World на C++.

Шаг 2. Я нажал "Создать" > "Создать решение".

Проблема: 'stdio.h': нет такого файла или каталога. Полная ошибка:

Сведения об устранении неполадок/способы, которые я пробовал:

    Свойства конфигурации > Каталоги VC++
    Включить каталоги $(VC_IncludePath);$(WindowsSDK_IncludePath);

Код в файле stdafx.cpp:

Код в файле stdafx.h:

Этот вопрос помечен тегом c++ visual-studio visual-studio-2017 stdio

~ Вопрос задан 27 мая 2017 г., 17:41:03

12 ответов

Есть три способа решить эту проблему.

Переустановите 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 C++

Решение 1. Проверьте настройки проекта Visual Studio в разделе C++, установите флажок Включить каталоги и убедитесь, что Your_filename.h указывает правильный путь. После добавления правильных включаемых каталогов он устранит ошибку Visual Studio, не позволяющую открыть исходный файл.

Visual Studio дополнительный каталог включения

включить каталоги в файл заголовка

Вы можете щелкнуть правой кнопкой мыши файл заголовка и открыть его в Visual Studio. Если файл указывает правильно, он откроется.

открыть заголовочный файл c++

Щелкните правой кнопкой мыши и попробуйте открыть заголовочный файл

Если ваш включаемый файл не указывает правильно или вы не добавили в свой включаемый каталог, вы не сможете открыть его из 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++. Если вы попробуете данное решение, надеюсь, вы сможете устранить ошибку. Но если вы все еще получаете сообщение об ошибке, вы можете добавить свой комментарий и код. Мы постараемся решить и найти решение для вас. Удачного кодирования 🙂

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

Начало темы Похожие темы Форум Ответы Дата
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 г.
A Почему IDE такие сложные?! Общие обсуждения приложений 10 25 августа 2017 г.
A Запуск Visual Studio Общие обсуждения приложений 5 23 августа 2017 г.
R Visual Studio Code Общие обсуждения приложений 4 30 декабря 2016 г.
F Код на Java в Visual Studio Pro 2017? Общие обсуждения приложений 1 5 декабря 2016 г.
Как задать вопрос «да» или «нет» с разными результатами в зависимости от ввода? Общие обсуждения приложений 3
W Чтение текстового файла Visual Studio 2015 C++ Общие обсуждения приложений 14 апреля 2016 г.
M Лицензия Visual Studio Общие обсуждения приложений< /td> 4 31 декабря 2015 г.
M Visual Studio 2015 Общее обсуждение приложений n 2 27 декабря 2015 г.
S Любые недостатки использования Visual Studio 2015< /td> Общие обсуждения приложений 4 24 декабря 2015 г.
Удаление .node-gyp, .node , npm и Python Общие обсуждения приложений 2 24 ноября 2015 г.
R Справка по HTML-коду Общие обсуждения приложений 3 6 ноября 2015 г.
P Visual Studio 2015 меня не устраивает Общие обсуждения приложений 2 21 августа 2015 г.
Visual Studio Express Edition и сообщество Общие обсуждения приложений 1 30 июля 2015 г.