Не удается открыть файл включение winsock2 h no such file or directory
Репутация: нет
Всего: 41
Цитата(output) |
1>------ Build started: Project: Socket1, Configuration: Debug Win32 ------ 1>Compiling. 1>Socket1.cpp 1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(91) : warning C4005: 'AF_IPX' : macro redefinition 1> c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(460) : see previous definition of 'AF_IPX' 1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(127) : warning C4005: 'AF_MAX' : macro redefinition 1> c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(479) : see previous definition of 'AF_MAX' 1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(163) : warning C4005: 'SO_DONTLINGER' : macro redefinition 1> c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(402) : see previous definition of 'SO_DONTLINGER' 1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(206) : error C2011: 'sockaddr' : 'struct' type redefinition 1> c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(485) : see declaration of 'sockaddr' //. 1>Socket1 - 105 error(s), 16 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== |
Репутация: 2
Всего: 33
Репутация: нет
Всего: 306
Репутация: нет
Всего: 10
перед инклюдами нужно тогда сделать такой хитрый дефайн
Репутация: нет
Всего: 41
Репутация: нет
Всего: 10
В двух словах - исключает редко используемые описания и т.д. из заголовков windows
А если подробней, то в MSDN.
Цитата |
Faster Builds with Smaller Header Files |
You can reduce the size of the Windows header files by excluding some of the less common API declarations as follows:
Репутация: нет
Всего: 9
Цитата |
error C2011: 'sockaddr' : 'struct' type redefinition |
Одна и та же структура объявляется в двух разных хидерах. Видимо, у MS не все в порядке с головой было.
Репутация: нет
Всего: 41
pan2004, не понял, за что ты мне репутацию уменьшил, но да ладно дело не в этом.
Я разбираюсь в студии и не понимаю, почему
using namespace std;
Цитата |
1>------ Build started: Project: Socket1, Configuration: Debug Win32 ------ 1>Compiling. 1>Socket1.cpp 1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(91) : warning C4005: 'AF_IPX' : macro redefinition 1> c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(460) : see previous definition of 'AF_IPX' 1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(127) : warning C4005: 'AF_MAX' : macro redefinition 1> c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(479) : see previous definition of 'AF_MAX' 1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(163) : warning C4005: 'SO_DONTLINGER' : macro redefinition 1> c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(402) : see previous definition of 'SO_DONTLINGER' 1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(206) : error C2011: 'sockaddr' : 'struct' type redefinition 1> c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(485) : see declaration of 'sockaddr' 1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(384) : error C2143: syntax error : missing '>' before 'constant' 1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(384) : error C2143: syntax error : missing ';' before 'constant' 1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(384) : error C2059: syntax error : 'constant' 1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(437) : error C2143: syntax error : missing ';' before '>' 1>c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(437) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int |
.
1>d:\programms\vs\vc\include\xutility(1283) : fatal error C1003: error count exceeds 100; stopping compilation
1>Build log was saved at "file://c:\Users\Павел\Documents\Visual Studio 2008\Projects\Socket1\Socket1\Debug\BuildLog.htm"
1>Socket1 - 105 error(s), 16 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
а вот это пашет
using namespace std;
лучше объясните, а не репутацию мне уменьшайте, мне на это по. а вот почему так происходит, меня волнует.
! bsa | Пожалуйста, в следующий раз не размещай такое количество бесполезной информации Кнопку "Код" используй для кода, а не для вывода ошибок. В крайнем случае используй его вариант "Без подсветки" |
Репутация: 16
Всего: 39
Цитата |
Ну, от отсутствия дефайна такой проблемы быть в принципе не должно. |
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
Репутация: нет
Всего: 306
совет - выше написанное - вставь в stdafx.h
Добавлено через 1 минуту и 40 секунд
собственно библиотеку ws2_32.lib можешь присоединить и в свойствах проекта. Иначе работа с сокетами нормальной не будет.
Добавлено через 3 минуты и 13 секунд
будь внимателен сначало winsock2.h, затем windows.h
Репутация: нет
Всего: 306
Цитата(Dmi3ev @ 25.2.2009, 18:25 ) |
вот почему так происходит, меня волнует.. |
Дело в том, что в windows.h инклудится winsock.h, который во многом повторяет winsock2.h.
Добавлено через 3 минуты и 42 секунды
Репутация: нет
Всего: 41
ладно, понял суть проблемы, знаю пути ее решения (причем несколько), уже неплохо, в дебри лезть не нужно, наверно.
там просто ошибки, не хватает точки с запятой. левые какие-то.
Репутация: нет
Всего: 11
Репутация: 99
Всего: 106
Добавлено через 13 минут и 53 секунды
на счет замечания Dmi3ev - справедливо в любом случае, поскольку первая ошибка - корень проблем, остальные - следствия предыдущих, зачем грузить моск форумчанам ненужной информацией,
для гармонии достаточно было пару-тройку строк оставить и все
Репутация: нет
Всего: нет
Добавлено через 3 минуты и 52 секунды
Прошу прощения - ошибся темой. Пощел к новичкам
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
[ Время генерации скрипта: 0.1968 ] [ Использовано запросов: 21 ] [ GZIP включён ]
Компилятор создает ошибку C1083, когда не удается найти требуемый файл. Эта ошибка имеет несколько возможных причин. Наиболее распространенными причинами являются неверный путь поиска include или отсутствующие или неправильно именованные файлы заголовков, но другие типы файлов и проблемы могут также вызвать C1083. Ниже приведены некоторые распространенные причины, по которым компилятор создает эту ошибку.
Решение
Возникла та же проблема с переносом проекта с 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
Не задана среда командной строки INCLUDE или LIB
Если компилятор вызывается из командной строки, для указания путей поиска часто используются переменные среды. Если путь поиска, описанный в переменной среды include или lib , задан неправильно, может быть сформирована ошибка C1083. Мы настоятельно рекомендуем использовать ярлык командной строки разработчика, чтобы задать базовую среду для сборок с командной строкой. Дополнительные сведения см. в разделе сборка C/C++ в командной строке. Дополнительные сведения об использовании переменных среды см. в разделе инструкции. Использование переменных среды в сборке.
Файл не включен в путь поиска включаемых файлов
Это указывает компилятору искать файл в том же каталоге, который содержит исходный файл, а затем искать в других местах, заданных средой сборки. Если кавычки содержат абсолютный путь, компилятор выполняет поиск файла только в этом расположении. Если кавычки содержат относительный путь, компилятор выполняет поиск файла в каталоге относительно исходного каталога.
Если имя заключено в угловые скобки,
Если включаемые файлы находятся в другом каталоге относительно исходного каталога и в директивах Include используется относительный путь, то вместо угловых скобок следует использовать двойные кавычки. Например, если файл myheader.h заголовка находится в подкаталоге именованных заголовков проекта, в этом примере не удается найти файл и вызывается C1083:
но этот пример работает:
Указано неверное имя файла
При вводе имени файла допущена ошибка. Например, примененная к объекту директива
может не найти файл, который вы хотели. Большинство файлов заголовков стандартной библиотеки C++ не имеют расширения h. . Чтобы устранить эту проблему, убедитесь, что указано правильное имя файла, как в следующем примере:
Дополнительные причины
Вы установили пакет SDK или библиотеку стороннего производителя, но после установки пакета SDK или библиотеки не открывали новое окно командной строки разработчика. Если пакет SDK или библиотека добавляет файлы в путь поиска включаемых файлов, может потребоваться открыть новое окно командной строки разработчика, чтобы получить эти изменения переменных среды.
Файл использует управляемый код, но параметр /clr компилятора не указан. Дополнительные сведения см. в разделе /clr (компиляция среды CLR).
Файл компилируется с использованием другого /analyze параметра компилятора, чем используется для предварительной компиляции заголовков. При предварительной компиляции заголовков для проекта все должны использовать одни и те же /analyze Параметры. дополнительные сведения см. в разделе /analyze (Code Analysis).
файл или каталог был создан подсистема Windows для Linux, учитывается регистр в каждом каталоге, и указанный регистр пути или файла не соответствует регистру пути или файла на диске.
Файл, каталог или диск доступен только для чтения.
Visual Studio или средства командной строки не имеют достаточных разрешений для чтения файла или каталога. это может произойти, например, когда файлы проекта имеют разные права владения, чем процесс, выполняемый Visual Studio или программ командной строки. иногда эту ошибку можно устранить, запустив Visual Studio или командную строку разработчика от имени администратора.
Недостаточно дескрипторов файлов. Закройте часть приложений и повторите компиляцию. Эта ситуация маловероятна в обычных условиях. Однако она может возникать при построении крупных проектов на компьютере с ограниченной физической памятью.
Проблемы с библиотекой сторонних производителей и vcpkg
если вы видите эту ошибку при попытке настроить библиотеку стороннего производителя в рамках сборки, рассмотрите возможность использования vcpkg, диспетчера пакетов C++ для установки и сборки библиотеки. vcpkg поддерживает большой и растущей список библиотек сторонних производителейи задает все свойства конфигурации и зависимости, необходимые для успешной сборки в рамках проекта.
Возможно, файл заблокирован или используется
Если для изменения или доступа к файлу используется другая программа, файл может быть заблокирован. Попробуйте закрыть файл в другой программе. иногда другая программа может быть Visual Studio сама по себе при использовании параметров параллельной компиляции. Если отключить параметр параллельной сборки, то эта ошибка исчезнет, а это проблема. Эта проблема также может быть вызвана другими системами параллельной сборки. Будьте внимательны при задании зависимостей файлов и проектов, чтобы порядок сборки был правильным. В некоторых случаях рекомендуется создать промежуточный проект для принудительного создания последовательности зависимостей для общего файла, который может быть создан несколькими проектами. Иногда антивирусные программы временно блокируют недавно измененные файлы для проверки. Если возможно, рассмотрите возможность исключения каталогов сборки проекта из антивирусного сканера.
Предкомпилированные заголовки еще не скомпилированы
Если проект настроен для использования предварительно скомпилированных заголовков, необходимо создать соответствующие .pch файлы, чтобы можно было скомпилировать файлы, использующие содержимое заголовка. например, pch.cpp файл ( stdafx.cpp в Visual Studio 2017 и более ранних версий) автоматически создается в каталоге проекта для новых проектов. Сначала необходимо скомпилировать этот файл, чтобы создать предкомпилированные файлы заголовков. В типичном проекте процесса сборки это выполняется автоматически. Дополнительные сведения см. в разделе Создание предкомпилированных файлов заголовков.
Файл находится в проекте, но не в пути поиска включаемых файлов
Чтобы устранить эту проблему, исправьте путь, используемый компилятором для поиска включаемого или импортируемого файла. В новом проекте используются пути поиска include по умолчанию. Может потребоваться изменить путь поиска include, чтобы добавить каталог для проекта. При компиляции в командной строке добавьте путь к переменной среды include или /I параметр компилятора, чтобы указать путь к файлу.
чтобы задать путь к каталогу включения в Visual Studio, откройте диалоговое окно страницы свойств проекта. выберите VC++ каталоги в разделе свойства конфигурации в левой области, а затем измените свойство включаемые каталоги . дополнительные сведения о каталогах для отдельных пользователей и проектов, поиск которых выполняется компилятором в Visual Studio, см. в разделе страница свойств VC++ directories. Дополнительные сведения о параметре компилятора см. в /I разделе /I (дополнительные каталоги включаемых данных).
Пример
В следующем примере создается ошибка C1083, если файл "test.h" заголовка не существует в исходном каталоге или в пути поиска include.
Сведения о том, как создавать проекты C/C++ в интегрированной среде разработки или в командной строке, а также сведения о настройке переменных среды см. в разделе проекты и сборки систем.
Не удается открыть файл включение: separate.h: No such file or directory
Ошибка C1083 Не удается открыть файл включение: separate.h: No such file or directory Ошибка.
Не удается открыть файл включение: corectr.h No such file or directory
Всем привет. При попытке подключить cmath и компиляции проекта появляется такая ошибка, а.
Файл находится в другом проекте и в другом каталоге. Чтобы он был виден, поправьте настройки проекта (пути к заголовочным файлам)
Свойства -> Конфигурация Свойства -> C / C + + -> Общие -> Дополнительные каталоги включения -> $(ProjectDir)\D:\Прога2014\Прогапроба\Reshenie_loaded_ library\Debug\loaded_ library.dll
Как ему указать еще? Может я что-то лишнеевписал или наоборот не вписал?
Может конечно я опять что-то напутал
Добавлено через 1 минуту
Ошибка 1 error C1083: Не удается открыть файл включение: loaded_ library/Zagolovotsnyj_loaded_ library.h: No such file or directory d:\прога2014\прогапроба\reshenie_loaded_ library\dlltest\dlltest.cpp 6 1 DLLtest
2 IntelliSense: не удается открыть источник файл "loaded_ library/Zagolovotsnyj_loaded_ library.h" d:\прога2014\прогапроба\reshenie_loaded_ library\dlltest\dlltest.cpp 6 1 DLLtest
хм!! Спасибо!! Я же его мышью скопировал, из относительного пути. Щас разберусь.
Добавлено через 5 минут
Представляете, из свойств, из относительного пути- так и копируется. Это не ошибка.
Добавлено через 3 минуты
Да. А вот если я открываю папку с проектом в компе проводником, так там пробела нету!! как он образовывается, не знаю! Вот это да.
Добавлено через 25 секунд
Но не компилируется в двух вариантах.
Доброго утра!!Да я это видел. Пробел- это не ошибка. Я уже проект с пробелами не трогаю, а то будет тема как вернуть проект после переименования файлов.cpp b/h. Шучу конечно. Проект можно переписать минут за 20. Но пробел-не ошибка.
Нет, но поскольку он мало заметен, может стать причиной. Некоторые вещи просто нельзя пропускать в проект. В частности спецсимволы в именах файлов. Не говорю уже о транслите.
Открыл текстовым редактором файл DLLtest.vcxproj и что вижу
Свойства -> Конфигурация Свойства -> C / C + + -> Общие -> Дополнительные каталоги включения -> D:\Прога2014\Прогапроба\Reshenie_lo aded_ library\Debug\loaded_ library.dll
Я туда пробовал вписывать разное, почти с десятоквариатов, начиная от полного пути и по всякому. сечас у меня там
К стати, нашлись какие то т.н. Макросы, их довольно много. Кажется, я думаю, они-то как раз могут изменяться, если я перемещу решение в другое мкесто. Только скопировать я их не могу.
Макросы-сила. Кажется. это решение.
Error C1083: Не удается открыть файл включение: cube.h: No such file or directory
Ошибка довольно таки распространенная,но решения,к сожалению я так и не нашел. Вот собственно.
Fatal error C1083: Не удается открыть файл включение: stdafx.h: No such file or directory
Visual Studio c++ При запуске выдается ошибка fatal error C1083: Не удается открыть файл.
Я установил Windows SDK и понял, что должен включить путь SDK в свой проект. Может ли кто-нибудь объяснить, как включить путь SDK в проект Visual Studio?
Ответ пользователя 2644318 довольно жестко запрограммирован. В качестве альтернативы можно попробовать следующее: - Откройте свойства проекта - Перейдите к свойствам конфигурации -> Общие - Установите для набора инструментов платформы значение v120_xp (Visual Studio 2013 - Windows XP) - Перекомпилируйте
Как ни странно, я могу смешивать наборы инструментов для библиотек; они нормально связываются. Конечно, это дает вам только возможности интерфейса XP.
откройте свойства проекта - перейдите к свойствам конфигурации -> общие - установите для набора инструментов платформы значение «Visual Studio 2013 — Windows XP (v120_xp)».
после этого пути Include/Libraries были изменены на правильные папки $(VC_IncludePath);$(WindowsSdk_71A_IncludePath); $(VC_LibraryPath_x86);$(WindowsSdk_71A_LibraryPath_x86);
Поэтому я НЕ менял их вручную. Только нацелился на правильный набор инструментов и все заработало.
Это больше похоже на комментарий к другому ответу. Пожалуйста, разместите это как таковое, когда сможете.
В Visual Studio 2013 в обозревателе решений щелкните правой кнопкой мыши проект -> Свойства -> Свойства конфигурации -> Каталоги VC++, затем включите (WindowsSDK_IncludePath_um); в каталогах Include и Library. Я смог решить эту проблему с помощью этого подхода.
Я только что скачал и установил Windows SDK 8.1 для Windows 7. VS2013 ищет заголовок winsock2.h в папке C:\Program Files (x86)\Windows Kits\8.1. Этот подход работает для меня.
Если вы столкнулись с той же проблемой в Visual Studio 2019, проблема может заключаться в том, что вы начали с совершенно пустого проекта. Буквально пишет, что стартовых файлов нет . Поэтому вместо этого я создал новый проект на основе любого другого проекта, кроме « Пустой проект ». Теперь я мог найти winsock-файлы во внешних зависимостях.
Это может звучать как ленивый обходной путь, но он избавит вас от головной боли при запуске, связанной с необходимостью вмешиваться в включаемые пути.
Детали системы:
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 файл:
Читайте также: