2012-07-10 5 views
0

winsock 라이브러리를 사용하여 Windows 7에 server 프로젝트를 만들었습니다. 그러나, 내 친구 UbuntuCode::Blocks 프레임 워크 에서이 프로젝트를 사용하려면. 프로젝트를 Ubuntu으로 옮길 때 winsock 라이브러리가 없다는 것을 알았습니다! 그래서 우분투에서 winsock lib를 사용하거나 내 프로젝트를 실행하는 방법을 ubuntu에서 사용하라는 제안을하고 싶습니다. 감사!우분투로 윈도우에서 winsock lib 디렉토리를 옮기는 방법이 있습니까?

답변

1

대신 ws2_32 라이브러리 (Windows의 경우 winsock)로 연결하는 대신 g ++/gcc로 빌드 할 때 항상 수행하는 glibc에 연결해야합니다.

그러나 일부 시스템 호출은 # ifdef로 교체해야합니다. 예를 들어 리눅스에서는 closesocket() 대신 ioctlsocket() 대신 ioctl()을 사용합니다.

#if defined(__unix__) 
typedef int SOCKET; 
#define closesocket(i) close(i) 
#define ioctlsocket(i,l,ul) ioctl(i,l,ul) 
#endif 

을 그리고 당신의 소켓을 위해 당신은 타입 정의 소켓을 사용해야합니다 :

코드에서이 블록을 사용해보십시오.

+0

Yeap! 노력하고있어! 감사합니다! –