2014-09-09 5 views
3

소켓 라이브러리에 의존하는 프로그램을 개발하려고하는데 일단 그것을 만들려고하면 메시지가 나타납니다 :치명적인 오류 : sys/socket.h : 해당 파일이나 디렉토리가 없습니다. x86_64-w64-mingw32 모드

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

내 빌드 환경 : Cygwin에서 x64 버전에서 윈도우 8.1, 빌드 대상 다음 --host = x86_64에-W64-mingw32 매개 변수로 x86_64의-W64-mingw32.

명령 행 : cfalgs = -m64 ./configure를 --prefix =는/usr/

내가 GTK + 2.0을 사용하는 응용 프로그램을 구축하고있다.

cygwin64 \ usr \ x86_64-w64-mingw32 \ sys-root \ mingw \ include \ sys에서 patch.h 파일의 find를 찾으려고합니다. 그것은 전혀 존재하지 않는 것 같습니다.

그래서 x64 버전의 MinGW 소켓 라이브러리가 없습니까?

답변

2

sys/socket.h은 POSIX/SUS 헤더입니다. MinGW는 WinAPI 실행 파일을 작성하기위한 것입니다. Cygwin의 GCC를 사용하여 POSIX/SUS 기능에 액세스하거나 WinAPI의 winsock2.h을 사용하도록 전환하십시오.

+0

그래, 내가 언급 한 문제가되어야한다고 생각한다. 실제로 Cygwin 모드로 빌드하려고 시도했지만 X11 서버에서 작동합니다. 이제는 Windows 플랫폼에서 독립적 인 버전을 만들고 싶습니다. 따라서 winsock2.h를 포함 시키려면 역순으로 처리해야 할 수도 있습니다. –

+0

@Ignacio,하지만 cygwin을 사용하여 컴파일 된 경우 실행 파일이 Windows에서 올바르게 실행됩니까? – Pacerier