This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: How to link with third party libraries using gcc


Bob McConnell wrote:
-----Original Message-----
From: cygwin-owner@cygwin.com [mailto:cygwin-owner@cygwin.com] On Behalf Of Larry Hall (Cygwin)
Sent: Friday, June 29, 2007 2:37 PM
To: cygwin@cygwin.com
Subject: Re: How to link with third party libraries using gcc


Bob McConnell wrote:

<snip>
Whether the libraries are linked dynamic or static is
irrelevant here.
The Windows libraries are stored in a different object
format than the
Unix and Cygwin libraries, and probably have different calling
The format of Windows and Cygwin libraries are the same.

conventions. You can't use MS-Windows libraries without the
appropriate
tools, usually that means Visual Studio. Cygwin made no
attempt to be

You can use MS-Windows libraries with Cygwin. Look under the hood of Cygwin
and you'll see Windows API calls. The typical problems are matching the
calling conventions and managing resources (heap, etc), as Dave has already
pointed out. But it's possible, as Cygwin itself illustrates.

So you are suggesting that with the proper header files and a little fiddling I could build and run a Visual Studio.Net project on top of the cygwin DLL and use additional Cygwin libraries in it? That is what it


It is possible to have a Windows program link to and use cygwin1.dll but
that's not what I was saying.  I was saying that it's possible build a
Cygwin app that uses Windows libs.


sounds like to me. As an application programmer, I don't look under the
hood. I leave that to the kernel programmers that understand the
intricacies involved. I already have enough trouble debugging some
hardware vendors' libraries.


It's not always easy. Check that. It's often hard at least!


I have attempted to go the other way, with no success. I tried to use
Cygwin B.20 to write some MS-Windows services a few years ago. One was a
simple TCP/IP socket proxy, and I never could get it to talk with the
Service Control Manager. It took about two hours to get it running as a
daemon on Slackware and half a day to port it into MSVC6.


Yes, this is the harder way to go.  If you can, you're better off porting
it with Mingw.  However, if you're curious about what's involved here,
take a look at the following FAQ link and/or documentation in the docs
directory of the Cygwin source.

<http://cygwin.com/faq/faq-nochunks.html#faq.programming.msvs-mingw>


-- Larry Hall http://www.rfk.com RFK Partners, Inc. (508) 893-9779 - RFK Office 216 Dalton Rd. (508) 893-9889 - FAX Holliston, MA 01746

_____________________________________________________________________

A: Yes.
> Q: Are you sure?
>> A: Because it reverses the logical flow of conversation.
>>> Q: Why is top posting annoying in email?

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]