加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

cygwin Windows套接字编程

发布时间:2020-12-14 01:55:10 所属栏目:Windows 来源:网络整理
导读:我正在尝试学习 Windows中的Socket编程,并且正在使用cygwin.我发现相同所需的文件位于/usr/include / w32api /. 我从网上拿了一个示例程序并尝试编译但是无法这样做….同样的代码是 #include w32api/windows.h #include w32api/winsock.h #include stdio.h i
我正在尝试学习 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排除在等式之外. (您还需要从#include行中删除w32api /.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读