Не удается открыть файл include
Репутация: нет
Всего: нет
Всем доброго времени! У меня есть программа, которая рисует кривую повехность, необходимо многократно посчитать время работы и результат записать в файл. Время работы считает как надо, но насчет fstream идет непрерывная ругань, мол, необъявленный идентификатор!
В fstream.h описан класс basic_fstream, пробовала заменить, результат тот же! Подскажите, что делать??
Привожу часть программы:
void CALLBACK display(void)
<
long t0 = GetTickCount();
fstream f;
f.open("file.txt",ios::out);
for (int a=0; a<10; ++a)
<
long t0 = GetTickCount();
for(int i =0; i < 100; ++i)
glRotatef(330.0, 1, 0., 0.);
glScalef (0.5, 0.5, 0.5);
gluNurbsSurface(theNurb,
8, knots,
8, knots,
4 * 3,
3,
&ctlpoints[0][0][0],
4, 4,
GL_MAP2_VERTEX_3);
>
long t1 = GetTickCount();
Репутация: 10
Всего: 33
Это пишется без .h
Добавлено через 22 секунды
Компилятор какой?
Репутация: нет
Всего: нет
Цитата |
fatal error C1083: Не удается открыть файл include: fstream: No such file or directory |
Репутация: 10
Всего: 33
О как. Посмотри есть ли этот файл в c:/programm files/microsoft<дальше не помню>/vc/include. Кароче, поищи каталог include в папке куда установила VC. Так как я никогда не пользовался экспресс версиями.
Репутация: нет
Всего: нет
Честно говоря, не нашла нигде другого компилятора, который нормально бы установился и заработал! если поделитесь, буду благодарна очень!!
А насчет fstream в include - он там есть. не понимаю в чем проблема((((
Репутация: 5
Всего: 32
Репутация: нет
Всего: нет
запуталась(( что делать.
Репутация: 5
Всего: 32
Постарайся приводить код в теге code, а не цитата, а то не читается.
fstream f; замени на ofstream f;
Добавлено через 2 минуты и 11 секунд
Ну и открывай блокнотом. Все стандартные инклуды по, опять же, стандарту без расшерений, так что исправь назад))
Репутация: нет
Всего: нет
Если удалить из папки эти заголовки, он ругается на необъявленный идентификатор!!
Если удалить неопознанные файлы, ругается на отсутствие их..
исправила, не помогло(
Добавлено через 1 минуту и 21 секунду
Репутация: 5
Всего: 32
бррр. какие неопознаные? верни всё как было. В SDK нет ошибок.
Лог ошибок в студию (только, прошу, верни файлы перед этим на место. Если очень сложно, то удали всё и поставь заново).
Репутация: нет
Всего: нет
Вернула!! я уже убедилась, что после ругани на отсутствие файлов, начинается ругань на неопознанность.. вот она:
P.s. Это не код, пишу цитатой.. =)
Репутация: 5
Всего: 32
Может, что углядишь. Это 100% работает
Добавлено через 1 минуту и 6 секунд
кстати, про пространство имён std не забыла?
Репутация: 10
Всего: 33
Репутация: 5
Всего: 32
в твоём файле нет.
Добавлено через 1 минуту и 49 секунд
Я, кстати, тоже не вижу объявления o_O
Репутация: нет
Всего: нет
работает! только выдает, точнее, записывает в файл совсем не то, что нужно!!
вот то, что получилось!! но нужно, чтобы проходя по первому циклу в массив добавлялось полученное значение времени!! а в итоге - документ со списком циферок, каждая из которых обозначает время выполнения программы за каждый такт, желательно, чтобы каждая циферка была с новой строки
Добавлено через 1 минуту и 52 секунды
Сейчас все падает =((((
Запрещается!
1. Публиковать ссылки на вскрытые компоненты
2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
- Действия модераторов можно обсудить здесь
- С просьбами о написании курсовой, реферата и т.п. обращаться сюда
- Вопросы по реализации алгоритмов рассматриваются здесь
- FAQ раздела лежит здесь!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.
[ Время генерации скрипта: 0.1378 ] [ Использовано запросов: 21 ] [ GZIP включён ]
Я пытаюсь создать решение в Visual Studio Community 2017, но я продолжаю получать ошибку"не удается открыть файл include: 'stdio.h' ". Я прочитал несколько подобных вопросов, но все еще не могу решить эту проблему. Похоже на С stdio.h файл вызывается в stdafx.h. Ниже приведены более подробные сведения. Есть предложения? (Я еще не могу вставлять изображения, поэтому, пожалуйста, нажмите на ссылки для скриншотов.)
: 'С stdio.h': нет такого файла или каталога. Полная Ошибка:
детали устранения неполадок / вещи, которые я пробовал:
- свойства конфигурации > каталоги VC++
Include Directories $(VC_IncludePath);$(WindowsSDK_IncludePath); - скриншот: Обозреватель решений (файлы в проекте)
код 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
Видимо, написать 5 слов про ошибку было бы полезнее многисленного повторения "магической фразы" - Вас бы меньше минусовали. Теперь про ошибку: у Вас "студия" не видит include - файлов. Очень короткая теория: сборка программы состоит из компиляции и линковки. компиляция требует "видимости" (то есть зания, откуда взять) include - фалов. Линковка требует того же для библиотек - например, стандартной библиотеки c++.
как ни странно, на первом этапе освоить все эти премудрости проще в командной строке. Это не потому, что мы здесь все олдскульные, а потому, что VS - это очень мощная среда программирования, которая многое скрывает "под капотом". И там есть ОГРОМНОЕ кол-во неочевидных настроек, с которыми Вы не сможете разбраться до тех пор, пока не будете детально понимать, что нужно сделать для сборки проекта.
Есть несколько путей: 1) можно попробовать настроить VS. Гуглить по словам "visual studio c++ include path"
2) можно делать всё из командной строки. Для этого понадобится установить компилятор и дебаггер. Скорее всего, MS - овский Вам не полоёдет. Советую взять пакет MSYS2, вся уствновка в винде сводится к установке пакета MSYS2 и вводу в окне pacman'а команд
3) Можно использовать более "легковесную" среду разработки, у которой не так много неочевидных настроек. Например, Visual studio code или code blocks. Но нужно помнить, что эти среды разработки представляют из себя только "клей" для консольных утилит: у них нет своего компилятора и дебаггера, они просто правильным образом вызывают уже установленные в систему. то есть пункт 2 из моего списка Вам для этого будет необходим. И настроить такую легковесную среду разработки под свою систему - это тоже отдельная задача - но на решена много раз, есть даже видео на ютьюбе.
Компилятор создает ошибку 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++ в интегрированной среде разработки или в командной строке, а также сведения о настройке переменных среды см. в разделе проекты и сборки систем.
Читайте также: