Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <39F5B820.41EBF387@ece.gatech.edu> Date: Tue, 24 Oct 2000 12:26:08 -0400 From: "Charles S. Wilson" X-Mailer: Mozilla 4.75 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: Jeff Lu CC: cygwin AT sourceware DOT cygnus DOT com Subject: Re: Question References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Jeff Lu wrote: > > I compiled it with CFLAGS=-DGDBM_STATIC such as this > gcc -o /home/jeff/getdata.cgi getdata.c -lgdbm utils.c -DGDBM_STATIC > > This takes care of the rename problem but am still getting dbm_open, > dbm_fetch etc. as undefined reference > > I've even tried to explicitly link it to /usr/lib/libgdbm.a but that didn't > help > Okay, so it appears that you want to link statically and not use the dll, right? You can do this because the gdbm package provides *both* a static lib *AND* a dll+import library. If you want to link statically, then you need to add "-static" to your link command. Now, since you are going straight from .c files to an executable all in one step, your compile command and your link command are the same. So, do this: gcc -static -o /home/jeff/getdata.cgi getdata.c -lgdbm utils.c -DGDBM_STATIC You could also do this: # compile gcc -o getdata.o -c getdata.c -DGDBM_STATIC gcc -o utils.o -c utils.c -DGDBM_STATIC #link gcc -static -o /home/jeff/getdata.cgi getdata.o utils.o -lgdbm --Chuck -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com