Файл stdafx h не найден в текущем каталоге исходных файлов

Обновлено: 07.07.2024

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

Указано неверное имя файла

При вводе имени файла допущена ошибка. Например, примененная к объекту директива

Файл не включен в путь поиска включаемых файлов

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

Если имя заключено в угловые скобки,

Если включаемые файлы находятся в другом каталоге относительно исходного каталога и в директивах Include используется относительный путь, то вместо угловых скобок следует использовать двойные кавычки. Например, если файл заголовка myheader.h находится в подкаталоге именованных заголовков проекта, в этом примере не удается найти файл и вызывается C1083:

но этот пример работает:

Проблемы с библиотекой сторонних производителей и vcpkg

если вы видите эту ошибку при попытке настроить библиотеку стороннего производителя в рамках сборки, рассмотрите возможность использования vcpkg, диспетчера пакетов C++ для установки и сборки библиотеки. vcpkg поддерживает большой и растущей список библиотек сторонних производителейи задает все свойства конфигурации и зависимости, необходимые для успешной сборки в рамках проекта.

Файл находится в проекте, но не в пути поиска включаемых файлов

Чтобы устранить эту проблему, исправьте путь, используемый компилятором для поиска включаемого или импортируемого файла. В новом проекте используются пути поиска include по умолчанию. Может потребоваться изменить путь поиска include, чтобы добавить каталог для проекта. При компиляции в командной строке добавьте путь к переменной среды include или /I параметр компилятора, чтобы указать путь к файлу.

чтобы задать путь к каталогу включения в Visual Studio, откройте диалоговое окно страницы свойств проекта. выберите VC++ каталоги в разделе свойства конфигурации в левой области, а затем измените свойство включаемые каталоги . дополнительные сведения о каталогах для отдельных пользователей и проектов, поиск которых выполняется компилятором в Visual Studio, см. в разделе страница свойств VC++ directories. Дополнительные сведения о /I параметре компилятора см. в разделе /I (дополнительные каталоги включаемых данных).

Не задана среда командной строки INCLUDE или LIB

Если компилятор вызывается из командной строки, для указания путей поиска часто используются переменные среды. Если путь поиска, описанный в переменной среды include или lib , задан неправильно, может быть сформирована ошибка C1083. Мы настоятельно рекомендуем использовать ярлык командной строки разработчика, чтобы задать базовую среду для сборок с командной строкой. Дополнительные сведения см. в разделе сборка C/C++ в командной строке. Дополнительные сведения об использовании переменных среды см. в разделе инструкции. Использование переменных среды в сборке.

Возможно, файл заблокирован или используется

Если для изменения или доступа к файлу используется другая программа, файл может быть заблокирован. Попробуйте закрыть файл в другой программе. иногда другая программа может быть Visual Studio сама по себе при использовании параметров параллельной компиляции. Если отключить параметр параллельной сборки, то эта ошибка исчезнет, а это проблема. Эта проблема также может быть вызвана другими системами параллельной сборки. Будьте внимательны при задании зависимостей файлов и проектов, чтобы порядок сборки был правильным. В некоторых случаях рекомендуется создать промежуточный проект для принудительного создания последовательности зависимостей для общего файла, который может быть создан несколькими проектами. Иногда антивирусные программы временно блокируют недавно измененные файлы для проверки. Если возможно, рассмотрите возможность исключения каталогов сборки проекта из антивирусного сканера.

Включена неправильная версия имени файла

Предкомпилированные заголовки еще не скомпилированы

Если проект настроен для использования предварительно скомпилированных заголовков, необходимо .pch создать соответствующие файлы, чтобы можно было скомпилировать файлы, использующие содержимое заголовка. например, pch.cpp файл ( stdafx.cpp в Visual Studio 2017 и более ранних версий) автоматически создается в каталоге проекта для новых проектов. Сначала необходимо скомпилировать этот файл, чтобы создать предкомпилированные файлы заголовков. В типичном проекте процесса сборки это выполняется автоматически. Дополнительные сведения см. в разделе Создание предкомпилированных файлов заголовков.

Дополнительные причины

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

Файл использует управляемый код, но параметр компилятора /clr не указан. Дополнительные сведения см. в разделе /clr (компиляция среды CLR).

Файл компилируется с использованием другого параметра /analyze компилятора, чем используется для предварительной компиляции заголовков. При предварительной компиляции заголовков для проекта все должны использовать одни и те же /analyze Параметры. дополнительные сведения см. в разделе /analyze (Code Analysis).

файл или каталог был создан подсистема Windows для Linux, учитывается регистр в каждом каталоге, и указанный регистр пути или файла не соответствует регистру пути или файла на диске.

Файл, каталог или диск доступен только для чтения.

Visual Studio или средства командной строки не имеют достаточных разрешений для чтения файла или каталога. это может произойти, например, когда файлы проекта имеют разные права владения, чем процесс, выполняемый Visual Studio или программ командной строки. иногда эту ошибку можно устранить, запустив Visual Studio или командную строку разработчика от имени администратора.

Недостаточно дескрипторов файлов. Закройте часть приложений и повторите компиляцию. Эта ситуация маловероятна в обычных условиях. Однако она может возникать при построении крупных проектов на компьютере с ограниченной физической памятью.

Пример

В следующем примере создается ошибка C1083, если файл заголовка "test.h" не существует в исходном каталоге или в пути поиска include.

Сведения о том, как создавать проекты C/C++ в интегрированной среде разработки или в командной строке, а также сведения о настройке переменных среды см. в разделе проекты и сборки систем.

Возникает вопрос, какой компилятор вы используете? И это легко проверить, действительно у вас есть этот файл, или его нет! у меня нету этого файла. а какой компилятор я использую я не знаю=)
у меня VS2008
я скачала этот .h файл с гугла нашла=)
но там еще какие то 3 .h файла. а их нет=) вообще у меня нету этого файла. а какой компилятор я использую я не знаю=)
у меня VS2008
я скачала этот .h файл с гугла нашла=)
но там еще какие то 3 .h файла. а их нет=) вообще При создании нового проекта ваш компилятор автоматически в пустой проект вставляет этот заголовочный файл.
Вам надо создать новый консольный проект, а затем этот ваш исходный код, который вам кто-то написал, скопировать в ваш новый пустой проект. затем этот ваш исходный код, который вам кто-то написал, скопировать в ваш новый пустой проект. извините но вы про что сейчас говорите об cpp или же h файл?

Меню Проект - Свойства - Свойства конфигурации - Предварительно скомпилированные заголовки
Первую опцию поставьте на "Не использовать предварительно скомпилированные заголовки"

Добавлено через 1 минуту
Потом уберите

У меня и так оказывается стоит на "Не использовать предварительно скомпилированные заголовки"
но ошибка та же. проект новый создавала и хидер файл загружала не пашет=( извините но вы про что сейчас говорите об cpp или же h файл? Я говорю про вашу программу, то есть про сам файл с расширением .cpp, Создаете новый пустой консольный проект. Среда разработки вам поместит в него ваш заголовок, которого, как вы пишите, у вас нет. Затем копируйте в этот пустой файл текст вашей программы и компилируйте.

убрала сделала все как надо . и проект новый создала
но теперь новые 3 ошибки
1>c:\users\user\documents\visual studio 2008\projects\ti\ti\1task.cpp(49) : warning C4018: '<' : signed/unsigned mismatch
1>c:\users\user\documents\visual studio 2008\projects\ti\ti\1task.cpp(56) : warning C4244: '=' : conversion from 'long' to 'char', possible loss of data
1>c:\users\user\documents\visual studio 2008\projects\ti\ti\1task.cpp(82) : warning C4018: '<' : signed/unsigned mismatch

убрала сделала все как надо . и проект новый создала
но теперь новые 3 ошибки
1>c:\users\user\documents\visual studio 2008\projects\ti\ti\1task.cpp(49) : warning C4018: '<' : signed/unsigned mismatch
1>c:\users\user\documents\visual studio 2008\projects\ti\ti\1task.cpp(56) : warning C4244: '=' : conversion from 'long' to 'char', possible loss of data
1>c:\users\user\documents\visual studio 2008\projects\ti\ti\1task.cpp(82) : warning C4018: '<' : signed/unsigned mismatch

ой а тут еще ошибка когда main меняю.
fatal error LNK1120: 2 unresolved externals
это уже когда компилируешь, типа не находит указанной пути =(

Добавлено через 21 минуту
ааааааааааай запарилась уже нухоть кто-нибудь помогите плиз!


Структуры "Студент" и "Дата": с чем связана данная ошибка?
С чем связана данная ошибка.

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

Сами файлы stdafx.h и stdafx.cpp присутствуют в директории проекта. 1. Как решить проблему? 2. Может ли эта проблема возникать из-за того, например, что проект был сделал в одной версии vs, а я открываю его в другой? Если да, как узнать исходную версию студии? Доступа к разработчикам проекта у меня нету. Спасибо.


Для начала скажите, находится ли этот файл в той же директории, что и cpp файлы, в котрых он заинклюжен? @AndrejLevkovitch да, файлы находятся в директории проекта вопрос пожалуйста перечитаете. Я не спрашивал, находится ли этот файл в каталоге проекта (вы это итак в вопросе указали), я спросил: находится ли stdafx.h в ТОЙ ЖЕ директории, что и CPP файлы, в которых есть этот инклюд? Дело в том, что компиляция не происходит по волшебству: компилятору нужны ваши cpp файлы, а в них заинклюжены хэдэры. При этом нужно понимать что впроцессе компиляции (на этапу препроцессора) эти инклюды заменяются на содержимое хэдэр файлов (препроцессор буквально копирует все их содержимое в cpp файл). А как он это сделает, если не знает где искать этот файл? Если вы используете ковычки, то это означает, что компилятор будет искать эти файлы в текущем катологе (там где cpp файл), а потом в системных путях. Поэтому нужно явно указать компилятору где нужно искать с помощью флага -I

Скорее всего, в проект не включены stdafx.h и возможно, stdafx.cpp .

Добавьте stdafx.h и stdafx.cpp в проект. Выберите Project / Add Existing Item. и добавьте.

  1. Может ли эта проблема возникать из-за того, например, что проект был сделал в одной версии vs, а я открываю его в другой?

Если да, как узнать исходную версию студии?

Из исходного (неконвертированного) файла проекта. В VS 6.0, к примеру, это проект.dsp . В VS2008 это проект.vcproj , В VS2017 это проект.vcxproj .

UPD Ответ на вопрос в комментариях:

Даже в достаточно большом проекте нет необходимости в подкаталогах. Реально они нужны в достаточно редких случаях, например, отделить файлы сторонних производителей. Для логического разбиения надо использовать подкаталоги проекта, а не файловые. VS стандартно создает Include/Source/Resource , но вам же никто не запрещает создать вместо них свои.

Файлы C/C++/Objective-C Header, такие как StdAfx.h, считаются разновидностью файла Разработчик (C/C++/Objective-C Header). Они соотносятся с расширением H, разработанным компанией Micro-Star International для MSI Afterburner 4.6.0.

Файл StdAfx.h изначально был выпущен с DownloadX ActiveX Download Control 1.6.8 05/19/2014 для ОС Windows 10. 03/09/2019 вышла версия 4.6.0 для MSI Afterburner 4.6.0.

Продолжайте читать, чтобы найти загрузку правильной версии файла StdAfx.h (бесплатно), подробные сведения о файле и порядок устранения неполадок, возникших с файлом H.




Совместимость с Windows 10, 8, 7, Vista, XP и 2000

Средняя оценка пользователей

Сведения о разработчике и ПО
Программа: MSI Afterburner 4.6.0
Разработчик: Micro-Star International
Программное обеспечение: MSI Afterburner
Версия ПО: 4.6.0
Сведения о файле
Размер файла (байты): 1146
Дата первоначального файла: 10/21/2019
Дата последнего файла: 01/24/2020
Информация о файле Описание
Размер файла: 1146 bytes
Дата и время изменения файла: 2020:01:24 03:13:20+00:00

✻ Фрагменты данных файлов предоставлены участником Exiftool (Phil Harvey) и распространяются под лицензией Perl Artistic.

Общие ошибки выполнения StdAfx.h

Ошибки файла StdAfx.h часто возникают на этапе запуска MSI Afterburner, но также могут возникать во время работы программы. Эти типы ошибок H также известны как «ошибки выполнения», поскольку они возникают во время выполнения MSI Afterburner. К числу наиболее распространенных ошибок выполнения StdAfx.h относятся:

  • Не удается найти StdAfx.h.
  • StdAfx.h — ошибка.
  • Не удалось загрузить StdAfx.h.
  • Ошибка при загрузке StdAfx.h.
  • Не удалось зарегистрировать StdAfx.h / Не удается зарегистрировать StdAfx.h.
  • Ошибка выполнения — StdAfx.h.
  • Файл StdAfx.h отсутствует или поврежден.

Программа: C:\Program Files (x86)\MSI Afterburner\SDK\Samples\SharedMemory\MACMSharedMemorySample\StdAfx.h

Среда выполнения получила запрос от этого приложения, чтобы прекратить его необычным способом.
Для получения дополнительной информации обратитесь в службу поддержки приложения.

В большинстве случаев причинами ошибок в H являются отсутствующие или поврежденные файлы. Файл StdAfx.h может отсутствовать из-за случайного удаления, быть удаленным другой программой как общий файл (общий с MSI Afterburner) или быть удаленным в результате заражения вредоносным программным обеспечением. Кроме того, повреждение файла StdAfx.h может быть вызвано отключением питания при загрузке MSI Afterburner, сбоем системы при загрузке или сохранении StdAfx.h, наличием плохих секторов на запоминающем устройстве (обычно это основной жесткий диск) или заражением вредоносным программным обеспечением. Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.

Шаг 1. Восстановите компьютер до последней точки восстановления, «моментального снимка» или образа резервной копии, которые предшествуют появлению ошибки.

Чтобы начать восстановление системы (Windows XP, Vista, 7, 8 и 10):

Если на этапе 1 не удается устранить ошибку StdAfx.h, перейдите к шагу 2 ниже.


Шаг 2. Если вы недавно установили приложение MSI Afterburner (или схожее программное обеспечение), удалите его, затем попробуйте переустановить MSI Afterburner.

Чтобы удалить программное обеспечение MSI Afterburner, выполните следующие инструкции (Windows XP, Vista, 7, 8 и 10):

После полного удаления приложения следует перезагрузить ПК и заново установить MSI Afterburner.

Если на этапе 2 также не удается устранить ошибку StdAfx.h, перейдите к шагу 3 ниже.


MSI Afterburner 4.6.0

Шаг 3. Выполните обновление Windows.


Если ни один из предыдущих трех шагов по устранению неполадок не разрешил проблему, можно попробовать более агрессивный подход (примечание: не рекомендуется пользователям ПК начального уровня), загрузив и заменив соответствующую версию файла StdAfx.h. Мы храним полную базу данных файлов StdAfx.h со 100%-ной гарантией отсутствия вредоносного программного обеспечения для любой применимой версии MSI Afterburner . Чтобы загрузить и правильно заменить файл, выполните следующие действия:

Windows 10: C:\Program Files (x86)\PLSQL Developer\PlugInDoc\VC++\DemoWin32\
Windows 10: C:\xampp\FileZillaFTP\source\
Windows 10: C:\Program Files (x86)\WinHTTrack\src_win\libhttrack\
Windows 10: C:\Program Files (x86)\Genesis Mobile\DownloadX ActiveX Download Control 1.6\Examples\Visual C++\DownloadXProDemo_VisualCpp\
Windows 10: C:\Program Files (x86)\MSI Afterburner\SDK\Samples\Plugins\Monitoring\AIDA64\
Windows 10: C:\Program Files (x86)\MSI Afterburner\SDK\Samples\Plugins\Monitoring\CPU\
Windows 10: C:\Program Files (x86)\MSI Afterburner\SDK\Samples\Plugins\Monitoring\GPU\
Windows 10: C:\Program Files (x86)\MSI Afterburner\SDK\Samples\Plugins\Monitoring\PerfCounter\
Windows 10: C:\Program Files (x86)\MSI Afterburner\SDK\Samples\Plugins\Monitoring\SMART\
Windows 10: C:\xampp\FileZillaFTP\source\interface\
Windows 10: C:\Program Files\PDFCreator\COM Scripts\C++\CppCOMTest\CppCOMTest\
Windows 10: C:\Program Files\BreakPoint Software\Hex Workshop v6.8\hwapi\examples\SelectionExample\
Windows 10: C:\Program Files (x86)\MSI Afterburner\SDK\Samples\SharedMemory\MACMSharedMemorySample\
Windows 10: C:\Program Files (x86)\MSI Afterburner\SDK\Samples\SharedMemory\MAHMSharedMemorySample\
Windows 10: C:\Program Files\MATLAB\R2019b\toolbox\matlab\winfun\mwsamp2\
Windows 10: C:\Program Files (x86)\Virtual CD v10\API\examples\MFC\VcdAPITest\
Windows 10: C:\Program Files (x86)\WinHTTrack\src_win\WinHTTrackIEBar\
Windows 10: C:\Program Files\MATLAB\R2019b\toolbox\matlab\winfun\mwsamp\

Если этот последний шаг оказался безрезультативным и ошибка по-прежнему не устранена, единственно возможным вариантом остается выполнение чистой установки Windows 10.

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