Adding the -Lc:\windows\system32 option when linking upsets the resolution of misc standard libraries, causing 'ld' to use the DLLs rather than the mingw link libraries, including msvcrt.dll.
Try just using c:/windows/system32/ntwdblib.dll on the link line instead. If ld's DLL auto-import support doesn't quite work, attempting to link with the import library 'ntwdblib' (ntwdblib.lib ?) instead is worth a shot. The SQL Server SDK ought to include that somewhere.
hth --sigbjorn
----- Original Message ----- From: "Bayley, Alistair" <[EMAIL PROTECTED]>
To: <glasgow-haskell-users@haskell.org>
Sent: Wednesday, April 27, 2005 08:10
Subject: Linker errors when using FFI on Windows
I'm trying to link an FFI program against a Windows (XP) DLL
(c:\windows\system32\ntwdblib - this is the MS Sql Server client library).
The output from ghc6.4 -v is below; the errors start in the Linker section.
Comments:
- Where do these objects d0000xx.o come from? (They're not in my source...)
d000013.o(.text+0x0): multiple definition of `_onexit' c:/ghc/ghc-6.4/gcc-lib/crt2.o(.text+0x2a0):crt1.c: first defined here d000018.o(.text+0x0): multiple definition of `atexit' c:/ghc/ghc-6.4/gcc-lib/crt2.o(.text+0x280):crt1.c: first defined here
- Have I omitted some important linker flag? There are tons of these undefined references from crt2.o, like this:
c:/ghc/ghc-6.4/gcc-lib/crt2.o(.text+0x238):crt1.c: undefined reference to [EMAIL PROTECTED]'
Thanks, Alistair.
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users