DLL load error: "not a 32-bit library"

Marc Houyoux mhouyoux@mcnc.org
Fri Sep 4 22:38:00 GMT 1998

I have successfully created a DLL using the example makefile on Fergus
Henderson's web pages that I found from previous posts to this list. I
needed to add the library libf2c.a to the list of libraries because there
is a Fortran program in the library, and this worked fine for compiling.

I linked to the libfoo_dll.a (in my case, prntfor_dll.a) file created by
the makefile, as the web page recommends.  However, when I try to call the
DLL from a Windows application (called Map Info), I get the following
"Unable to load prntfor_dll.a because it is not a 32-bit library."

Has anyone ever seen this before, or have any suggestions as to what might
be wrong?  Here are some more details that might be relevant... 
- I'm working on an NT PC

- Using another set of instructions on the web for building DLLs with
Gnu-Win32, I have previously gotten other messages about Map Info simply
not being able to read the library at all.  Using Fergus Henderson's
Makefile, I got the "32-bit" message, which is at least a little more

- I've already tried the web page suggestions of setting RELOCATABLE to
"yes" and `LDFLAGS-libfoo = --image-base=0x0800000 (within the makefile),
and these did not change the error message.

- The contents of the DLL, for testing purposes, is a simple fortran
program that opens a file and writes to it.


Marc Houyoux

North Carolina Supercomputing Center - Environmental Programs
3021 Cornwallis Road
Research Triangle Park, NC    27709

phone: (919) 248-4126
fax  : (919) 248-9245

For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".

More information about the Cygwin mailing list