2014-09-09 2 views
3

Я пытаюсь разработать программу, которая зависит от библиотеки сокетов, как только я попытаюсь это сделать, он подскажет мне:Неустранимая ошибка: sys/socket.h: Нет такого файла или каталога, x86_64-w64-mingw32 mode

fatal error: sys/socket.h: No such file or directory 
#include <sys/socket.h> 

Мое окружение сборки: для Windows 8.1 под Cygwin x64 версии, целью сборки: x86_64-w64-mingw32 в качестве параметров --host = x86_64-w64-mingw32.

Командная строка: cfalgs = -m64 ./configure prefix =/USR/

Я строю приложение, которое с помощью GTK + 2.0.

Я пытаюсь найти в файле socket.h под патчем: cygwin64 \ usr \ x86_64-w64-mingw32 \ sys-root \ mingw \ include \ sys. Кажется, не существует вообще.

Итак, нет x64-версии MinGW socket lib ??

ответ

2

sys/socket.h является заголовком POSIX/SUS. MinGW предназначен для создания исполняемых файлов WinAPI. Либо переключитесь на создание с помощью GCC Cygwin, чтобы получить доступ к средствам POSIX/SUS, либо переключитесь на использование WinAPI's winsock2.h.

+0

Yup, я думаю, что это проблема, о которой вы упомянули. Фактически, я пытался создать его как режим Cygwin, он работает с сервером X11. Итак, теперь я хотел бы создать независимое издание на платформе Windows. Поэтому мне, вероятно, нужно отменить, чтобы включить winsock2.h. –

+0

@Ignacio, но если он скомпилирован с использованием cygwin, будет ли исполняемый файл работать нормально в Windows? – Pacerier