delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/07/28/05:58:34

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,SPF_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <4A6ECECC.7030404@gmail.com>
Date: Tue, 28 Jul 2009 11:11:24 +0100
From: Dave Korn <dave DOT korn DOT cygwin AT googlemail DOT com>
User-Agent: Thunderbird 2.0.0.17 (Windows/20080914)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: mingw headers and libraries missing
References: <5FE114CB-1BD5-450B-BE50-27D7D665CB7D AT uni-dortmund DOT de> <416096c60907271220x50eaca35nc454c41ad6a92d76 AT mail DOT gmail DOT com> <416096c60907271229n1f87acd0ha410da5dc8c51d54 AT mail DOT gmail DOT com> <C60F7B43-C1F9-444D-9DA6-DF664FF3FC27 AT uni-dortmund DOT de>
In-Reply-To: <C60F7B43-C1F9-444D-9DA6-DF664FF3FC27@uni-dortmund.de>
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Georg Troska wrote:
> hi,
> thank you very much for this information
> 
> Where o I find windsock.h and its library? Do I need a SDK (e.g. Visual
> C++) for this?

  Nope, you need the w32api package (you should probably already have it),
this works for both cygwin and mingw compiles and provides headers in
/usr/include/w32api and libraries in /usr/lib/w32api that let you use all the
standard windows OS functions.  The file you're looking for is
/usr/include/w32api/winsock2.h (plain 'winsock.h' only gives the old V1
windows socket interface, nobody uses it any more), and the library is
/usr/lib/w32api/libws2_32.a, the -I and -L options for the compiler should
already be set up correctly so you just write "#include <winsock2.h>" in your
C source and add '-lws2_32' to the compiler command line and away you go.

  Note that you only want this as long as you're using -mno-cygwin; if you
decide to write a Cygwin application, you just use the standard POSIX socket
functions and don't use winsock2.h or libws2_32.a, and the Cygwin DLL takes
care of the rest for you.  (It is even possible to write a Cygwin app that
bypasses the Cygwin DLL POSIX socket functions and uses the winsock API
directly, but it's not a standard thing to do and fraught with possibilities
for bugs to arise, so I'd recommend against it.)

    cheers,
      DaveK

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019