[elephant-devel] Testing
Frank Schorr
franks-muc at web.de
Mon Feb 19 23:20:16 UTC 2007
I haven't really understood what happens when a dll is built with cygwin.
dlltool generates the .def file and the exports.o used in the
next gcc step. See
http://www.gnu.org/software/binutils/manual/html_chapter/binutils_13.html
http://www.cygwin.com/cygwin-ug-net/dll.html
I was able to get a libmemutil.dll without errors by:
gcc -mno-cygwin -mwindows -std=c99 -c libmemutil.c
dlltool -z libmeutil.def --export-all-symbols -e exports.o -l libmemutil.lib libmemutil.o
gcc -shared -mno-cygwin -mwindows libmemutil.o exports.o -o libmemutil.dll
A while ago, when I made the dlls for elephant 0.6.0, my first try was MSVC, guided by
http://bc.tech.coop/blog/041007.html
However, the available free MSVC appeared to have no preset dll-project any more.
I had to try compiler switches ... and found cygwin easier.
This should mean that not every lisp-on-windows-user has
MSVC installed (and is able to use it. cygwin is easy to install).
Best regards,
Frank
> -----Ursprüngliche Nachricht-----
> Von: Elephant bugs and development <elephant-devel at common-lisp.net>
> Gesendet: 19.02.07 21:26:09
> An: Elephant bugs and development <elephant-devel at common-lisp.net>
> Betreff: Re: [elephant-devel] Testing
> Thanks for trying that. Do you know if there's a way with the cygwin
> gcc compiler to use a .def file instead of generating a .o with the
> exports? I'm pretty sure MSVC has one. We'll also need a set of
> build commands for MSVC...
>
> I suspect we may have broken the build of libmemutil when we included
> sys/types to get access to u_int64 and u_int32, etc. Without a
> local system to play with I'm not sure I can debug this. I guess the
> thing to do is look at db.h and sys/types to try to figure out what
> was intended and whether they're compatible.
>
> I'll see about getting access to a Windows box to try to reproduce
> and test these things on my side.
>
> Thanks,
> Ian
>
> On Feb 19, 2007, at 2:09 PM, Frank Schorr wrote:
>
> >
> > gcc -shared -mno-cygwin -mwindows -std=c99 --export-all-symbols
> > libberkeley-db.def libberkeley-db.c -o libberkeley-db.dll
> >
> > produces
> >
> > cc1: error: unrecognized command line option "-fexport-all-symbols"
> >
> > Further:
> >
> > gcc -mno-cygwin -mwindows -c -Wall -std=c99 -L/c/Programme/Oracle/
> > Berkeley\ DB\ 4.5.20/lib/ -I/c/Programme/Oracle/Berkeley\ DB\
> > 4.5.20/include/ libberkeley-db.c
> >
> > produces
> >
> > In file included from libberkeley-db.c:165:
> > /c/Programme/Oracle/Berkeley DB 4.5.20/include/db.h:99: error:
> > conflicting types
> > for 'ssize_t'
> > /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/
> > include/sys/types
> > .h:104: error: previous declaration of 'ssize_t' was here
> > libberkeley-db.c: In function `case_cmp':
> > libberkeley-db.c:1233: warning: implicit declaration of function
> > `_strnicmp'
> >
> > Hope this can help
> > Please let me know what to do next.
> > Frank
> >
__________________________________________________________________________
Erweitern Sie FreeMail zu einem noch leistungsstärkeren E-Mail-Postfach!
Mehr Infos unter http://freemail.web.de/home/landingpad/?mc=021131
More information about the elephant-devel
mailing list