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

Обновлено: 25.06.2024

используя пространство имен std;

int main ()
строка firstName, lastName;
двойной hourRate, numHours;

Мой файл c_cpp_properties.json

Дайте мне знать, если вам понадобится дополнительная информация

Самый полезный комментарий

Что gcc сообщает, что должен быть путь включения? Запустите эту команду и убедитесь, что все распечатанные пути указаны в вашем c_cpp_properties.json: gcc -v -E -x c++ -

Все 56 Комментарий

Если вы используете Linux, вам нужно добавить путь /usr/include/linux

У меня была такая же проблема с Windows, после того как я добавил "C:\\cygwin64\\lib\\gcc\\x86_64-pc-cygwin\\6.4.0\\include\\c++" в includePath, я получил эту ошибку: cannot open source file "bits/c++config.h" (dependency of "iostream")

Что gcc сообщает, что должен быть путь включения? Запустите эту команду и убедитесь, что все распечатанные пути указаны в вашем c_cpp_properties.json: gcc -v -E -x c++ -

@NikoGP Перейдите в Файл-> Настройки-> Настройки и найдите «intelliSenseEngine», чтобы найти настройку. Однако у вас уже установлен «По умолчанию». Вы запускали команду gcc, о которой говорилось в

Вот мой текущий файл c_cpp_properties.json, когда я наводил курсор на " Кроме того, я установил cygwin перед установкой MingW, я не уверен, что это испортит что-то или нет

Я переформатировал ваш комментарий. Внутри ваших «конфигураций» есть элемент «конфигурации», который является недопустимым синтаксисом для файла c_cpp_properties.json. Исправьте это, как показано ниже:

Screenshot of output

Хорошо, я думаю, что моя проблема заключается в том, что я установил cygwin до MingW, а затем я неправильно установил необходимые пакеты для правильной работы MingW.
Есть ли где-нибудь, где я могу найти, какие пакеты мне нужно установить, чтобы VS Code правильно работал с MingW?

У меня также возникла проблема, которую

Ошибка при включении iostream:

не может открыть исходный файл "wchar.h" (зависимость от "iostream")

helloworld_example

Простой пример "Hello World", показывающий ошибку:

c_pp_properties

Мой файл c_pp_properties.json:

@smithalexk , для меня этот файл находится в /usr/include . Что clang -Wp,-v -E -xc -x c++ /dev/null показывает в качестве пути включения? "IncludePath" в вашем файле c_cpp_properties.json должен соответствовать этому.

Да, похоже, это исправлено. Спасибо за помощь!

Для справки мне не хватало:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/System/Library/Frameworks

screen shot 2017-09-29 at 3 58 45 pm

мой файл c_cpp_properties.json:

Мой файл tasks.json:

Мой файл launch.json:

screen shot 2017-09-29 at 4 22 52 pm

Моя пользовательская настройка:

Путь к папке FirstProg:

screen shot 2017-09-29 at 4 17 15 pm

@ dorsa1986 , что g++ -Wp,-v -E -xc -x c++ /dev/null отображается в качестве пути включения? "IncludePath" в вашем файле c_cpp_properties.json должен соответствовать этому.

Привет @ dorsa1986 , я также заметил, что вы неправильно

@smithalexk Спасибо, я исправил, но все же у меня ошибка

screen shot 2017-10-02 at 9 25 07 am

@bobbrow они совпали.

В соответствии с этой ошибкой либо ваш tasks.json неправильно строит вашу программу, либо ваш launch.json имеет неправильный путь к созданной программе. Но это не проблема IntelliSense. Я не вижу красных волнистых линий в вашем редакторе.

как я могу их решить?

Откройте tasks.json или launch.json (в папке .vscode) и убедитесь, что они верны.

это мой файл launch.jason:

Это мой tasks.json:

screen shot 2017-10-02 at 9 40 40 am

Я работал над этим около 4 дней. Я не могу найти свою ошибку.

У меня такая же ошибка.

Вы его уже построили? Откройте свой терминал или окно Finder и скажите мне, где находится ваша скомпилированная программа.

@ dorsa1986 Есть ли в названии исполняемого файла a.out? Есть ли у него разрешения для исполняемых файлов? Можете ли вы запустить его без VS Code из командной строки?

screen shot 2017-10-02 at 12 07 01 pm

Когда я построил его с терминала VScode, я получил эту ошибку:

Вы умеете встраивать терминал Mac? Попробуйте добавить -std=c++11 в командную строку.

@ sean-mcmanus Я новичок в программировании, думаю, да. Однако это делается автоматически в моей папке.

@bobbrow Нет, это не так. У меня такая же ошибка.

screen shot 2017-10-02 at 1 08 49 pm

Я получил эту ошибку, когда добавил -std = c ++ 11 в командную строку.

image

Похоже, он пытается скомпилировать ваш код как код C, а не C ++. Добавьте -x c++ в командную строку.

screen shot 2017-10-02 at 2 31 53 pm

Должно быть множество веб-сайтов, которые помогут вам выполнить этапы создания кода. Этот форум предназначен для устранения ошибок в VS Code Extension, и ваша проблема не кажется ошибкой, поскольку она также не работает для вас в терминале.

У меня заканчиваются идеи для вас, но мне в голову пришло следующее:

  • Проверьте свою файловую систему, чтобы убедиться, что там есть заголовки (посмотрите на пути включения, которые ваш компилятор сообщает вам, что он использует)
  • Вы устанавливали XCode или запускали xcode-select --install?
  • Вы установили другой компилятор, который можете попробовать? (ваш tasks.json ссылается на g ++, но на скриншотах вашего терминала отображается cpp)
  • Похоже, у вас уже есть выход в папке. Как ты получил это?

Я выполнил все предложения в этом потоке, и теперь мои browse.path и includePath совпадают с записями, найденными с помощью "g ++ -Wp, -v -E -xc -x c ++ / dev / null".

Однако я все еще не могу включить iostream, atomic или stdio, в основном любой стандартный заголовок. Мои собственные заголовки из подкаталога в порядке.

Чтобы было ясно, моя проблема не в сборке (я использую свою собственную систему сборки), а в проблеме с intellisense. Особенность заключается в том, что мой код находится на удаленном сервере Ubuntu, и я запускаю код VS на своем ноутбуке с Windows с диском Z:, подключенным к / на сервере. Буду признателен, если у кого-нибудь есть идеи.

Можете ли вы поделиться путем включения, указанным в g ++? Это путь на сервере Ubuntu или сопоставленное местоположение в Windows? IncludePath должен соответствовать файловой системе операционной системы, над которой вы работаете (в данном случае Windows с путем Z:).

Это результат выполнения команды g ++ на машине Ubuntu:

Я установил / смонтировал на диске букву Z, поэтому мой includePath выглядит так:

Как видите, я перевел каждый путь на эквивалентный путь в своей системе Windows. Я могу получить доступ к заголовкам, используя эти пути в проводнике Windows, поэтому путь правильный. Таким образом, хотя я могу открыть заголовок iostream, перейдя к «z: \ usr \ include \ x86_64-linux-gnu \ c ++ \ 5 \» и открыв файл в любом редакторе, код VS по-прежнему показывает зеленую волнистую линию под его включением.

Я получаю доступ к серверу через Интернет, поэтому я беспокоюсь, что это может быть связано с тем, что код VS не может анализировать файлы, которые медленно читаются. Это может вызвать эту проблему? Значок огня в правом нижнем углу гаснет через некоторое время (1-2 мин).

Спасибо за ответ.

PS: извините за непоследовательное форматирование.

Здравствуйте. Как сказал @smithalexk выше, расширение C++ по умолчанию не работает. Но когда я добавил эти 3 строки (см. Ниже) - все становится рабочим.

Не могли бы вы внести эти изменения в плагин, чтобы порадовать пользователей Mac ? Спасибо.

image

Мой вывод gcc -v -E -xc:

Мои файлы "INCLUDE" находятся в c: / MinGW / include /

Недавно мы обновили способ поиска расширением по умолчанию. Эта проблема возникла вместе с множеством других проблем, поэтому, если мы что-то упустили, а у вас все еще есть проблемы, откройте новую проблему.

все равно не работает. но это способ убежать от нее.

@andythedandyone , пожалуйста, откройте новую проблему, и мы будем рады ее изучить.

@andythedandyone : пожалуйста, перейдите в settings.json и установите "C_Cpp.intelliSenseEngine" с "Default" на
"Tag Parser"

Здравствуйте! У меня та же проблема, но я использую кодовые блоки в Windows для компиляции. Помоги мне, пожалуйста !

спасибо, я нашел решение!

Примечание для пользователей MacOS: если вы используете gcc версии 8.1.0 (например) от Homebrew, ваша конфигурация MacOS должна выглядеть следующим образом:

Очень просто. Вам не нужно включать заголовки из XCode. Не устанавливайте compilerPath в /usr/local/bin/gcc-8 , так как это символическая ссылка, которая может нарушить работу IntelliSense. Если у вас по-прежнему возникают проблемы, как у меня, установите следующий пользовательский параметр в settings.json поскольку другие должны решить недавнюю проблему: "C_Cpp.intelliSenseEngine": "Tag Parser",

Какие файлы include необходимы для запуска моего кода с помощью cl.exe из MSVS 2015?

Я включил эти папки в c_cpp_properties.json:

«C: / Program Files (x86) / Windows Kits / 8.1 / Include / shared»,
"D: / Program Files (x86) / Microsoft Visual Studio / 2017Community / VC / include",
"D: / Program Files (x86) / Microsoft Visual Studio / 2017 / BuildTools / *",
"D: / Program Files (x86) / Microsoft Visual Studio / 2017 / BuildTools / VC / Tools / MSVC / 14.13.26128 / include",
"D: / Program Files (x86) / Windows Kits / 10 / Include / 10.0.10240.0 / ucrt",
"D: / Program Files (x86) / Microsoft Visual Studio / 2017 / Community / VC / Tools / MSVC / 14.13.26128 / include",
"D: / Program Files (x86) / Mirucrosoft Visual Studio / 2017 / Community / VC / Tools / MSVC / 14.13.26128 / atlmfc / include",
"D: / Program Files (x86) / Microsoft Visual Studio / 2017 / Community / VC / Tools / MSVC / 14.13.26128 / crt / src / x64",

@ prdas31 В настоящее время наше расширение не поддерживает какие-либо функции сборки - c_cpp_properties.json предназначен для функции IntelliSense, а не для фактической компиляции. Для сборки с MSVS 2015 вам может потребоваться сборка из командной строки разработчика, которая поставляется с VS.

@ prdas31 В настоящее время наше расширение не поддерживает какие-либо функции сборки - c_cpp_properties.json предназначен для функции IntelliSense, а не для фактической компиляции. Для сборки с MSVS 2015 вам может потребоваться сборка из командной строки разработчика, которая поставляется с VS.

Большое спасибо за разъяснения и предложения. Теперь я использую файлы сборки, чтобы включить такие пути:

Я пытаюсь создать решение в 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’: Данный файл или каталог отсутствует. Полная ошибка:

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

  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 или патезрасе, так что я должен был добавить их, потому что у меня были другие ошибки. Я бы очень признателен за любую помощь. благодаря

Сведения о системе: 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.

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

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

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