delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/08/08/17:42:30

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
X-Originating-IP: [203.97.2.246]
From: "Danny Smith" <danny_r_smith AT hotmail DOT com>
To: corrosion AT connect DOT to, cwilson AT ece DOT gatech DOT edu
Cc: cygwin AT sourceware DOT cygnus DOT com
Subject: Re: libodbccp32.a
Date: Wed, 09 Aug 2000 09:41:42 NZST
Mime-Version: 1.0
Message-ID: <F34SAQV6uPDVniSnRMW00000471@hotmail.com>
X-OriginalArrivalTime: 08 Aug 2000 21:41:42.0921 (UTC) FILETIME=[71463790:01C00181]

<SNIP>

>dllwrap --dllname ODBC.dll --driver-name gcc --dlltool dlltool
>--export-all-symbols --as as --output-def libODBC.def --output-lib 
>libODBC.a
>\
>-L/usr/local/lib ODBC.o dbdimp.o -lodbc32 -L/cygdrive/c/winnt/system32
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>-lodbccp32 /usr/local/lib/perl5/5.6.0/cygwin/CORE/libperl5_6_0.a -lodbc32
>dllwrap: no export definition file provided
>dllwrap: creating one, but that may not be what you want
>ODBC.o(.text+0x3800):ODBC.c: undefined reference to `SQLGetFunctions AT 12'
>ODBC.o(.text+0x39ce):ODBC.c: undefined reference to `SQLAllocEnv AT 4'
>ODBC.o(.text+0x3a5d):ODBC.c: undefined reference to `SQLDataSources AT 32'
<MORE OF SAME>


All the symbols are from odbc32.dll, but in odbc32.dll they are exported as 
aliases. This may be the problem:

The linker is trying to use /cygdrive/c/winnt/system32/odbc32.dll instead of 
/usr/lib/libodbc32.a  If so, the only thing visible in odbc32.dll are the 
aliased names, without trailing @n.   Try -v to see what libs are being 
linked in.

As I indicate earlier linking directly against dll only seems to work for 
__cdecl symbols, for *unaliased* __stdcall symbols, or for G++ symbols in 
all there mangled glory.

Regards
Danny



________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


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