簡體   English   中英

cygwin + Windows套接字編程

[英]cygwin + Windows socket programming

我正在嘗試學習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/ 。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM