From: Andreas P. <Pet...@gm...> - 2005-09-02 10:41:48
|
Hi, before I start to explain my problems. I try to upgrade a plugin for BerkeleyDB for squeak. I use the version 3.7.1 of mingw. I had tried to compile and link an existing plugin for BerkeleyDB for Squeak. But therefor I need the libdb*.dll. So I tried to generate a *.a library from this dll. Here I found a lot of alternatives, e.g. reimp (only for *.lib), pexports, sed and dlltool. But with every so generated library I got the same error. --------------------------------------------------------------------------- D:\Pete\SqueakTools\3.7.1\win32>build BerkeleyDbPlugin.dll D:\Pete\SqueakTools\3.7.1\win32>make -f Makefile.mingw32 BerkeleyDbPlugin.dll make[1]: Entering directory `D:/Pete/SqueakTools/3.7.1/win32/plugins/BerkeleyDbP lugin' dlltool \ --output-def ./BerkeleyDbPlugin.def \ --output-exp ./BerkeleyDbPlugin.exp \ --output-lib ./BerkeleyDbPlugin.lib \ BerkeleyDbPlugin.o sqBerkeleyDatabase.o dllwrap -mwindows \ -def ./BerkeleyDbPlugin.def \ -o ./BerkeleyDbPlugin.dll \ -lddraw -ldinput -lopengl32 -lwsock32 -lcomdlg32 -lole32 -lwinmm -luser3 2 -lgdi32 -lkernel32 -lcrtdll \ ./BerkeleyDbPlugin.exp \ BerkeleyDbPlugin.o sqBerkeleyDatabase.o libdb43.a sqBerkeleyDatabase.o: In function `sqDbOpen': //D/Pete/SqueakTools/3.7.1/win32/plugins/BerkeleyDbPlugin/sqBerkeleyDatabase.c:1 08: undefined reference to `db_create' //D/Pete/SqueakTools/3.7.1/win32/plugins/BerkeleyDbPlugin/sqBerkeleyDatabase.c:1 32: undefined reference to `db_strerror' sqBerkeleyDatabase.o: In function `sqDbInit': //D/Pete/SqueakTools/3.7.1/win32/plugins/BerkeleyDbPlugin/sqBerkeleyDatabase.c:7 2: undefined reference to `db_version' sqBerkeleyDatabase.o: In function `sqDbClose': //D/Pete/SqueakTools/3.7.1/win32/plugins/BerkeleyDbPlugin/sqBerkeleyDatabase.c:1 46: undefined reference to `db_strerror' sqBerkeleyDatabase.o: In function `sqDbCommit': //D/Pete/SqueakTools/3.7.1/win32/plugins/BerkeleyDbPlugin/sqBerkeleyDatabase.c:1 55: undefined reference to `db_strerror' sqBerkeleyDatabase.o: In function `sqDbVerify': //D/Pete/SqueakTools/3.7.1/win32/plugins/BerkeleyDbPlugin/sqBerkeleyDatabase.c:1 64: undefined reference to `db_strerror' sqBerkeleyDatabase.o: In function `sqDbAt': //D/Pete/SqueakTools/3.7.1/win32/plugins/BerkeleyDbPlugin/sqBerkeleyDatabase.c:1 88: undefined reference to `db_strerror' sqBerkeleyDatabase.o: In function `sqDbAtPut': //D/Pete/SqueakTools/3.7.1/win32/plugins/BerkeleyDbPlugin/sqBerkeleyDatabase.c:2 09: undefined reference to `db_strerror' sqBerkeleyDatabase.o://D/Pete/SqueakTools/3.7.1/win32/plugins/BerkeleyDbPlugin/s qBerkeleyDatabase.c:225: more undefined references to `db_strerror' follow dllwrap: gcc exited with status 1 make[1]: *** [makedll] Error 1 make[1]: Leaving directory `D:/Pete/SqueakTools/3.7.1/win32/plugins/BerkeleyDbPl ugin' make: *** [BerkeleyDbPlugin.dll] Error 2 D:\Pete\SqueakTools\3.7.1\win32> --------------------------------------------------------------------------- It seems to be equal, where and when linking the libdb*.a. Perhaps anyone can help me? Pete p.s. I'm sorry about my english. -- Lust, ein paar Euro nebenbei zu verdienen? Ohne Kosten, ohne Risiko! Satte Provisionen für GMX Partner: http://www.gmx.net/de/go/partner |
From: Sisyphus <sis...@op...> - 2005-09-03 00:52:24
|
----- Original Message ----- From: "Andreas Petermann" > I had tried to compile and link an existing plugin for BerkeleyDB for > Squeak. > But therefor I need the libdb*.dll. So I tried to generate a *.a library > from this dll. Here I found a lot of alternatives, e.g. reimp (only for > *.lib), pexports, sed and dlltool. But with every so generated library I got > the same error. > I take it that you're trying to create the '.a' library for the purpose of linking. Can you link directly to the dll (and avoid the need for a '.a' library)? gcc -o app.exe app.c \full_path\to_libd_dll\libd.dll Cheers, Rob |
From: Andreas P. <Pet...@gm...> - 2005-09-05 07:09:16
|
> Can you link directly to the dll (and avoid the need for a '.a' library)? > > gcc -o app.exe app.c \full_path\to_libd_dll\libd.dll Thx for the tip Rob. In this way all errors are eliminated. Pete -- Lust, ein paar Euro nebenbei zu verdienen? Ohne Kosten, ohne Risiko! Satte Provisionen für GMX Partner: http://www.gmx.net/de/go/partner |