我正在尝试学习 Windows 中的 Socket 编程,并使用 cygwin 来实现同样的目的。我发现所需的文件位于/usr/include/w32api/
.
我从网上获取了一个示例程序并尝试编译但无法这样做......相同的代码是
#include <w32api/windows.h>
#include <w32api/winsock.h>
#include <stdio.h>
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmd, int nShow)
{
WORD sockVersion;
WSADATA wsaData;
int nret;
sockVersion = MAKEWORD(1, 1); // We'd like Winsock version 1.1
// We begin by initializing Winsock
WSAStartup(sockVersion, &wsaData);
// rest part of code
}
我在 cygwin 环境中使用 gcc-3 编译它并得到非常奇怪的错误......
undefined reference to '_WSAStartup08' and many such errors...
我从教程网站获取了代码,因此想知道我错了什么以及我应该如何运行该程序。
多谢..
编辑 - - - - -
我也尝试使用winsock2而不是winsock.h,但错误仍然存在......
-lws2_32
应该这样做。
然而,Cygwin 在 Winsock 之上有自己的 POSIX 兼容套接字实现,并且混合起来通常不是一个好主意。如果你想坚持使用winsock,你可能想使用gcc-3-mno-cygwin
将 Cygwin DLL 排除在外的选项。 (您还需要删除w32api/
来自#include
行。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)