X-Spam-Check-By: sourceware.org Message-ID: <468580AC.5050108@cygwin.com> Date: Fri, 29 Jun 2007 17:59:08 -0400 From: "Larry Hall (Cygwin)" Reply-To: cygwin AT cygwin DOT com User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070505 Remi/2.0.0.0-3.fc4.remi Thunderbird/2.0.0.0 Mnenhy/0.7.5.0 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: How to link with third party libraries using gcc References: <11331072 DOT post AT talk DOT nabble DOT com> <4682C0EE DOT D7088ADD AT dessent DOT net> <11342161 DOT post AT talk DOT nabble DOT com> <4683D230 DOT 9030705 AT cygwin DOT com> <11348820 DOT post AT talk DOT nabble DOT com> <007801c7b9b6$8d58ec30$2e08a8c0 AT CAM DOT ARTIMI DOT COM> <11362016 DOT post AT talk DOT nabble DOT com> <46855156 DOT 3020206 AT cygwin DOT com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Bob McConnell wrote: >> -----Original Message----- >> From: cygwin-owner AT cygwin DOT com >> [mailto:cygwin-owner AT cygwin DOT com] On Behalf Of Larry Hall (Cygwin) >> Sent: Friday, June 29, 2007 2:37 PM >> To: cygwin AT cygwin DOT com >> Subject: Re: How to link with third party libraries using gcc >> >> Bob McConnell wrote: >> >> >>> 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. -- 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/