delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
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 |
From: | "Dave Korn" <dave DOT korn AT artimi DOT com> |
To: | "'cygwin'" <cygwin AT cygwin DOT com> |
Subject: | RE: undefined reference to `_CAPI_INSTALLED AT 0', why? |
Date: | Fri, 1 Jul 2005 10:46:35 +0100 |
MIME-Version: | 1.0 |
In-Reply-To: | <42C45145.4010202@familiehaase.de> |
Message-ID: | <SERRANO59KuERIqVDok0000030e@SERRANO.CAM.ARTIMI.COM> |
----Original Message---- >From: Gerrit P. Haase >Sent: 30 June 2005 21:09 > Ok, I try to build a Cygwin application that requires CAPI functions > which are installed with the drivers for an ISDN card, the DLL is named > capi2032.dll, I have an import library which comes from the manufacturer > AVM but this contains symbols not included in the DLL or elsewhere. > > In the .lib library are these symbols: > > $ nm capi2032.lib | grep ' T ' > 00000000 T _CAPI_INSTALLED AT 0 That's a stdcall symbol. > in the import library I created are these symbols: > > $ nm libcapi2032.dll.a | grep ' T ' > 00000000 T _CAPI_INSTALLED That's a cdecl symbol. > Where does the @0 in capi20.o: _CAPI_INSTALLED AT 0 came from? It comes from it being a stdcall symbol. > I see in the source: > > extern DWORD APIENTRY CAPI_INSTALLED (void); > > unsigned CAPI20_ISINSTALLED (void) { > #if defined(CYGWIN) || defined(WIN32) > return (unsigned)CAPI_INSTALLED () == 0; > #elif defined(LINUX) > return capi20_isinstalled() == CapiNoError; > #endif > > > So why does the compiler creats a reference to _CAPI_INSTALLED AT 0 or > is it the linker who wants to resolve CAPI_INSTALLED with @0 attached. Has the definition of APIENTRY has changed between the mfr's build from which the import library came and the build from which you generated your import lib? cheers, DaveK -- Can't think of a witty .sigline today.... -- 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/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |