This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
Re: Question
- To: Jeff Lu <jklcom at mindspring dot com>
- Subject: Re: Question
- From: "Charles S. Wilson" <cwilson at ece dot gatech dot edu>
- Date: Mon, 23 Oct 2000 20:28:41 -0400
- CC: cygwin at sourceware dot cygnus dot com
- References: <NDBBIHPECLIGKCCLMACAEEHHCHAA.jklcom@mindspring.com>
Jeff Lu wrote:
>
> I've downloaded and installed cygwin & gdbm-1.8.0.
Please read /usr/doc/Cygwin/gdbm-1.8.0.README.
Basically, gdbm provides wrapper header files so that you can use gdbm
to provide dbm and ndbm functions -- but you must link to the gdbm
library to do so. -lgdbm.
Also, since by default ld will link using the dll, the header files
reflect this. That's why you get _imp__dbm_open. If you want to link
statically, you have to (a) set CFLAGS=-DGDBM_STATIC when compiling, and
use "-static" when linking. Then, functions don't get renamce (that's
part (a)) and you link to the statlib instead of the dll-importlib
(that's part (b)).
Please search the archives; there have been several links to informative
webpages posted recently concerning dll's and how they work.
--Chuck
>
> When tried to compile programs that uses dbm functions such as:
>
> gcc -o /home/jeff/getzip.cgi getzip.c utils.c -lndbm
>
> I got /usr/bin/ld: cannot find -lndbm
>
> gcc -o /home/jeff/getzip.cgi getzip.c utils.c -lgdbm
> I got errors on dbm_open, dbm_fetch etc as undefined reference
>
> Please see attached error file.
>
> This is weird. Some dbm calls got renamed to "_imp__dbm_open" during
> compile.
>
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com