0
我在Windows 7中使用winsock
库创建了server
项目。但是,我的朋友想用这个项目在Ubuntu
和Code::Blocks
框架。当我将该项目移动到Ubuntu
时,我意识到没有winsock
库!所以,我想问一个建议,在Ubuntu中使用winsock
lib或者在ubuntu
中运行我的项目。谢谢!有没有办法将winsock从Windows移到Ubuntu?
我在Windows 7中使用winsock
库创建了server
项目。但是,我的朋友想用这个项目在Ubuntu
和Code::Blocks
框架。当我将该项目移动到Ubuntu
时,我意识到没有winsock
库!所以,我想问一个建议,在Ubuntu中使用winsock
lib或者在ubuntu
中运行我的项目。谢谢!有没有办法将winsock从Windows移到Ubuntu?
而不是链接到ws2_32库(Windows上的winsock),而是需要链接到glibc,你总是用g ++/gcc构建时要做的。
然而,您将需要用#ifdef来替换一些系统调用。 例如在linux上,你有close()而不是closesocket(),ioctl()而不是ioctlsocket()等等。
尝试在你的代码中使用此块:
#if defined(__unix__)
typedef int SOCKET;
#define closesocket(i) close(i)
#define ioctlsocket(i,l,ul) ioctl(i,l,ul)
#endif
并为您的插座,您将需要使用的typedef SOCKET。
Yeap!我尝试着!谢谢! – 2012-07-17 00:07:43