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: <47D5B138DD8DD311B95100902787500E3453ED@cervin.grenoble.cstb.fr> From: NOE Nicolas To: "Cygwin (Adresse de messagerie)" Subject: RE: DLL & no-cygwin problem Date: Fri, 25 Aug 2000 14:58:18 +0200 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Content-Type: text/plain; charset="iso-8859-1" > Hi, > > I've build a program with gcc (using -mno-cygwin option), and > linked it against a library of my own (also build with > -mno-cygwin). So I can run it without cygwin1.dll (and it works). > > Then, I wanted to make a DLL of my library, and I used dllwrap. > I build my program again, it works, but now it cannot run without > cygwin1.dll ! When I run objdump on my DLL, it shows that there > are imports from cygwin1.dll : > > > DLL Name: cygwin1.dll > > vma: Hint/Ord Member-Name > > 4b6b0 498 abort > > 4b6b8 687 ftime > > 4b6c0 697 getcwd > > 4b6cc 881 putenv > > 4b6d8 999 stat > > 4b6e0 1008 strdup > > 4b6ec 1089 write Hi again. I dug into my problem, and I've managed to solve it. It seems that all the functions above are not defined as symbols in libmingw32.a. There are in libcygwin.a, but also are in other various libraries (libmoldname.a, libcrtdll.a, ...). I added those libraries to my dllwrap command line, and now it works (I can run my program without cygwin1.dll). That looks a little bit strange to me (I would have expected that because of the --m-no-cygwin flag, dllwrap would complain about abort, ..., being undefined references, instead of linking with libcygwin.a). Can anyone comment ? Nicolas -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com