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

Обновлено: 04.07.2024

Сведения о системе: Windows 10
Сообщество Visual Studio 2017 v.15.2 (26430.6)
- Установленная разработка рабочего стола с помощью C++ (Снимок экрана: список установки)

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

Шаг 2: Я нажал на Build> Build Solution.

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

Устранение неисправностей/Вещи, которые я пробовал:

  1. Свойства конфигурации> V C++ Каталоги
    Include Directories $(VC_IncludePath);$(WindowsSDK_IncludePath);
  2. Скриншот: Solution Explorer (файлы в проекте)

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

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

Ну что ж, начнем с удаления файла stdafx.h, поскольку он нестандартен и не нужен в VS2017. Отключите предварительно скомпилированный заголовок и удалите stdafx *. В любом случае это немного странно, так как <stdio.h> должен существовать и работать в любом правильно настроенном компиляторе, даже в режиме C ++. @PaulStelian, если это так, возможно, моя ошибка в основном была вызвана тем, что моя установка Windows SDK не работала хорошо с моей установкой Visual Studio. Смотрите ответ ниже.

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

Переустановите Visual Studio
Это также сработало для меня, потому что я понял, что, возможно, что-то не так с моим Windows SDK. Я использовал Windows 10, но с Windows SDK 8.1. У вас может быть и эта проблема.
Шаги: Открыть установщик Visual Studio> Нажмите на трехстрочную панель меню> Удалить> Перезагрузите компьютер> Откройте программу установки Visual Studio> Установите то, что вы хотите, но убедитесь, что вы устанавливаете только последние версии Windows SDK 10, а не несколько, а также 8.1,

Проблема с вариантом № 1 заключается в том, что вы должны делать это для каждого проекта. Если я найду лучшее решение, я опубликую его здесь. Это сработало для меня. Спасибо! Я также хотел бы добавить, что эти свойства можно получить, щелкнув правой кнопкой мыши по проекту в обозревателе решений. У меня была такая же проблема после того, как ничего не изменилось в проекте. Я бы предположил, может быть, что-то делать с обновлениями Windows? Была выбрана версия 10. что-то, но никогда не было ни одной доступной, и эта работала. Я предполагаю, что этого нового раньше не было, когда он работал. В сообществе Microsoft Visual Studio 2017 15.7.1 у меня нет версии Windows SDK. Однако, щелкнув правой кнопкой мыши по решению и выполнив «Retarget solution», сработало LOL, вернитесь к <inherit from parent or project defaults> сохранить изменения, а затем снова вернуться к version 10 работавшей для меня

Столкнулась с проблемой отсутствия stdlib.h и stdio.h (и, возможно, больше) после установки сообщества VS2017 на новом компьютере и переноса решения из VS2013 на VS2017.

Теперь мои проекты связаны с проблемой.

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

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

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

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

  1. свойства конфигурации > каталоги VC++
    Include Directories $(VC_IncludePath);$(WindowsSDK_IncludePath);
  2. скриншот: Обозреватель решений (файлы в проекте)

код stdafx.cpp:

код stdafx.h:

столкнулся с проблемой отсутствует stdlib.h и stdio.h (и, возможно, больше) после установки сообщества VS2017 на новый компьютер и переноса решения с VS2013 на VS2017.

теперь мои проекты строят без проблемы.

обратите внимание,что вам может потребоваться сделать проект стартовым проектом для переориентации.

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

Переустановите Visual Studio
Это также сработало для меня, потому что я понял, что, возможно, что-то не так с моим Windows SDK. Я использовал Windows 10, но с Windows SDK 8.1. Вы можете иметь эту проблему.
действия: открыть установщик Visual Studio > нажмите на трехстрочную строку меню > Удалить > перезагрузить компьютер > открыть установщик Visual Studio > Установите то, что вы хотите, но убедитесь, что вы устанавливаете только последнюю версию Windows SDK 10, а не несколько или 8.1.

на случай, если вы не хотите поднимать Windows SDK до Windows 10 (например, вы можете работать над проектом с открытым исходным кодом, где решение не ваше), вы можете решить эту проблему в проекте Windows SDK 8.1, перейдя Tools -> Get Tools and Features. -> Individual Compontents tab и установка отдельных компонентов "Windows 8.1 SDK" (под SDK, библиотеками и фреймворками) и "Windows Universal CRT SDK" (под Comiplers, инструментами сборки и временем выполнения):

У меня была аналогичная проблема после обновления моего VS2017. Проект построен хорошо, но много ошибок, когда код был воспитан в Редакторе. Даже попытался переустановить VS. Я смог решить его, установив параметр "игнорировать стандартные пути включения" в Yes. Попытка построить решение с большим количеством ошибок. Вернулся и установил параметр нет. После восстановления моя проблема исчезла.

У меня была та же проблема с созданием проекта VS 2013 с Visual Studio 2017 IDE. Решением было установить правильный " Platformtoolset v120 (Visual Studio 2013). Для этого должен быть установлен Windows SDK 8.1. Если вы хотите использовать Platformtoolset v141 (Visual Studio 2017), должен быть Windows SDK 10. Platformtoolset можно выбрать в диалоговом окне свойств проекта: общие - > Platformtoolset

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

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

Шаг 2 . Я щелкнул "Сборка"> "Собрать решение".

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

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

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

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

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

Столкнулся с проблемой отсутствия stdlib.h и stdio.h (а может и больше) после установки VS2017 Community на новый компьютер и переноса решения с VS2013 на VS2017.

Сейчас мои проекты строятся без проблем.

Обратите внимание, что вам может потребоваться сделать проект стартовым проектом для ретаргетинга.

Подобная проблема для меня, но немного другая. Я могу без проблем скомпилировать и запустить код CUDA 10 по умолчанию, но есть много ошибок, связанных с файлом stdio.h, показанным в окне редактирования. Что раздражает. Я решаю это путем изменения имени файла кода с «kernel.cu» на «kernel.cpp». Это связано, но работает для меня. И пока все идет хорошо.

У меня была такая же проблема при создании проекта VS 2013 с помощью Visual Studio 2017 IDE. Решением было установить правильный «Platformtoolset v120 (Visual Studio 2013). Для этого должен быть установлен Windows SDK 8.1. Если вы хотите использовать Platformtoolset v141 (Visual Studio 2017), должен быть Windows SDK 10. Можно выбрать Platformtoolset». внутри диалога свойств проекта: Общие -> Platformtoolset

У меня была похожая проблема после обновления моего VS2017. Проект построен хорошо; но много «ошибок», когда код был поднят в редакторе. Даже попробовал переустановить VS. Я смог решить эту проблему, установив для параметра «Игнорировать стандартные пути включения» значение «Да». Попытка построить решение с большим количеством ошибок. Вернулся и установил опцию на Нет. После восстановления моя проблема ушла.

Если вы не хотите использовать Windows SDK для Windows 10 (например, вы можете работать над проектом с открытым исходным кодом, решение которого не принимается вами), вы можете решить эту проблему в проекте Windows SDK 8.1 с помощью перейдите Tools -> Get Tools and Features. -> Individual Compontents tab и установите отдельные компоненты "Windows 8.1 SDK" (в составе SDK, библиотек и сред) и "Windows Universal CRT SDK" (в разделе "Компиляторы, инструменты сборки и среды выполнения"):

Возникла такая же проблема с переносом проекта с VS2013 на VS2017,
Исправлено: измените "Свойства-> Общие-> Версия Windows SDK" на 10.

Столкнулся с той же проблемой, другое решение заключается в добавлении включает в себя по умолчанию, это исправило проблему для меня:

Грязное исправление: Добавить $ (VC_IncludePath); $ (WindowsSDK_IncludePath); в свойства проекта / C / C ++ / Общие / Дополнительные каталоги включения

Детали системы:
Windows 10
Visual Studio Community 2017 v.15.2 (26430.6)
— Установленная разработка рабочего стола с C ++ (Снимок экрана: Список установки )

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

Шаг 2: Я нажал на Построить> Построить решение.

Проблема: ‘Stdio.h’: Данный файл или каталог отсутствует. Полная ошибка:

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

  1. Свойства конфигурации> Каталоги VC ++
    Include Directories $(VC_IncludePath);$(WindowsSDK_IncludePath);
  2. Снимок экрана: Solution Explorer (файлы в проекте)

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

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

Решение

Возникла та же проблема с переносом проекта с VS2013 на VS2017,
Исправлено: измените «Свойства-> Общие-> Версия Windows SDK» на 10

Другие решения

Столкнулся с проблемой пропавших без вести stdlib.h а также stdio.h (а может и больше) после установки VS2017 Community на новый компьютер и переноса решения с VS2013 на VS2017.

Сейчас мои проекты строятся без проблем.

Обратите внимание, что вам может потребоваться сделать проект стартовым проектом для ретаргетинга.

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

Переустановите Visual Studio
Это также сработало для меня, потому что я понял, что, возможно, что-то не так с моим Windows SDK. Я использовал Windows 10, но с Windows SDK 8.1. У вас может быть и эта проблема.
шаги: Откройте установщик Visual Studio> щелкните трехстрочную строку меню> Удалить> Перезагрузите компьютер> Откройте установщик Visual Studio> Установите то, что вам нужно, но убедитесь, что вы устанавливаете только последнюю версию Windows SDK 10, а не несколько или 8.1.

У меня была похожая проблема после обновления моего VS2017. Проект построен хорошо; но много «ошибок», когда код был поднят в редакторе. Даже попробовал переустановить VS. Я смог решить эту проблему, установив для параметра «Игнорировать стандартные пути включения» значение «Да». Попытка построить решение с большим количеством ошибок. Вернулся и установил опцию на Нет. После восстановления моя проблема ушла.

Если вы не хотите использовать Windows SDK для Windows 10 (например, вы можете работать над проектом с открытым исходным кодом, решение которого не принимается вами), вы можете решить эту проблему в проекте Windows SDK 8.1 с помощью навигационный Tools -> Get Tools and Features. -> Individual Compontents tab и установка отдельных компонентов «Windows 8.1 SDK» (в составе SDK, библиотек и сред) и «Windows Universal CRT SDK» (в разделе «Компиляторы», средства сборки и среды выполнения):

У меня была такая же проблема при создании VS 2013 Project с помощью Visual Studio 2017 IDE.
Решением было установить правильный «Platformtoolset v120 (Visual Studio 2013)». Для этого должен быть установлен Windows SDK 8.1.
Если вы хотите использовать Platformtoolset v141 (Visual Studio 2017), необходимо установить Windows SDK 10.
Platformtoolset может быть выбран в диалоге свойств проекта: General -> Platformtoolset

526 просмотра

1 ответ

103 Репутация автора


Я пытаюсь использовать графическую библиотеку (SFML) для C ++, и у меня возникли проблемы. Я использую Visual Studio 2017. Я посмотрел много уроков на Youtube и получаю ту же ошибку с каждым, что пытаюсь. Я не могу найти решение, так как люди говорят «папки должны быть вместе», что я уже сделал: Вот ошибки, которые я получаю:

E1696 не может открыть исходный файл "stdafx.h" c: Users George source repos Game Game main.cpp 1

E1696 не может открыть исходный файл "SFML / Graphics.hpp" c: Users George source repos Game Game main.cpp 2

Код, который я запускаю (скопированный, с дополнительным):

Раньше в коде не было stdafx.h или std пространства имен, поэтому мне пришлось добавить их, потому что у меня были другие ошибки. Я был бы очень признателен за любую помощь. Спасибо

Ответы (1)

103 Репутация автора

Разобрался несколько дней назад, но забыл опубликовать, как я это исправил. Я скачал 32-битную версию SFML. В свойствах необходимо убедиться, что в нем написано: «Active (win32)» или что-то в этом роде. У меня был мой на "x64", поэтому он не работал. Надеюсь, что это помогло кому-то еще с той же проблемой 🙂


Я пытаюсь использовать графическую библиотеку (SFML) для C ++, и у меня возникли проблемы. Я использую Visual Studio 2017 Я наблюдал много учебников Youtube, и получить ту же ошибку с каждым я стараюсь. Я не могу найти решение, как люди говорят «папки должны быть вместе» , которые я уже сделал: Вот ошибки я получаю:

E1696 не может открыть исходный файл stdafx.h C: Users George источник Repos Game Game main.cpp 1

E0065 ожидается «;» C: Users George источник Repos Game Game main.cpp 5

E1696 исходный файл не может открыть SFML / Graphics.hpp C: Users George источник Repos Game Game main.cpp 2

Код я бег (скопировано с дополнительным):

Перед тем, код не имеют stdafx.h или патезрасе, так что я должен был добавить их, потому что у меня были другие ошибки. Я бы очень признателен за любую помощь. благодаря

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