[odb-users] ODB exception problem
Uwe Kindler
uwe_kindler at web.de
Tue Jun 14 10:40:36 EDT 2011
Hi Boris,
indeed our software mainly consists of DLLs and exception handling are
the main error handling strategy and we never had any problems throwing
exceptions across DLL boundaries.
Here is the libtool command line for building libodb under MSYS:
C:/msys/bin/sh.exe ../libtool --tag=CXX --mode=link g++ -g -O2
-mthreads -release 1.4 -no-undefined -L/local/lib
-L/c/CodingXP/Qt/qt/lib -shared-libgcc -shared-libstdc++
-Wl,--enable-auto-import -Wl,--export-all-symbols -o libodb.la -rpa
th /usr/local/lib exceptions.lo database.lo lazy-ptr-impl.lo
schema-catalog.lo session.lo transaction.lo details/buffer.lo
details/condition.lo details/lock.lo details/mutex.lo
details/shared-ptr/base.lo details/win32/init.lo details/win32
/once.lo details/win32/tls.lo details/win32/condition.lo
details/win32/thread.lo details/win32/exceptions.lo details/win32/dll.lo
libtool: link: g++ -shared -nostdlib
c:/codingxp/mingw/bin/../lib/gcc/mingw32/4.5.1/../../../dllcrt2.o
c:/codingxp/mingw/bin/../lib/gcc/mingw32/4.5.1/crtbegin.o
.libs/exceptions.o .libs/database.o .libs/lazy-ptr-impl.o
.libs/schema-catalog
.o .libs/session.o .libs/transaction.o details/.libs/buffer.o
details/.libs/condition.o details/.libs/lock.o details/.libs/mutex.o
details/shared-ptr/.libs/base.o details/win32/.libs/init.o
details/win32/.libs/once.o details/win32/.libs/tls
.o details/win32/.libs/condition.o details/win32/.libs/thread.o
details/win32/.libs/exceptions.o details/win32/.libs/dll.o
-L/local/lib -L/c/CodingXP/Qt/qt/lib
-Lc:/codingxp/mingw/bin/../lib/gcc/mingw32/4.5.1
-Lc:/codingxp/mingw/bin/../li
b/gcc
-Lc:/codingxp/mingw/bin/../lib/gcc/mingw32/4.5.1/../../../../mingw32/lib
-Lc:/codingxp/mingw/bin/../lib/gcc/mingw32/4.5.1/../../.. -lstdc++
-lmingw32 -lgcc -lmoldname -lmingwex -lmsvcrt -luser32 -lkernel32
-ladvapi32 -lshell32 -lmingw
32 -lgcc -lmoldname -lmingwex -lmsvcrt
c:/codingxp/mingw/bin/../lib/gcc/mingw32/4.5.1/crtend.o -mthreads
-Wl,--enable-auto-import -Wl,--export-all-symbols -mthreads -o
.libs/libodb-1-4.dll -Wl,--enable-auto-image-base -Xlinker --out-impl
ib -Xlinker .libs/libodb.dll.a
Creating library file: .libs/libodb.dll.a
libtool: link: ( cd ".libs" && rm -f "libodb.la" && ln -s "../libodb.la"
"libodb.la" )
For building our own DLLs we use either eclipse managed DLL projects or
CMake for building the DLLs with Hudson CI server.
This is the link output from eclipse (I stripped most of the object
files from the output and replaced them with ...):
g++ -LC:\CodingXP\cetoni_repository\libs\mingw -Xlinker
--enable-auto-import -shared -ocanoo-d.dll
canoo\utils\RemoteObjDicScanList.o canoo\utils\NodeIdListBitfield.o
..
\version.o -lliblog4cplusD -lusl-d
This is the link output from CMake for the same project:
C:\CodingXP\mingw\bin\g++.exe -Wl,--enable-auto-import
-Wl,--export-all-symbols -shared -o canoo.dll
-Wl,--out-implib,canoo.dll.a
-Wl,--major-image-version,0,--minor-image-version,0 -Wl,--whole-archive
CMake Files\canoo.dir/objects.a -Wl,--no-whole-archive
-LC:\CodingXP\cetoni_repository\libs\mingw -lusl -lliblog4cplus
-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32
-luuid -lcomdlg32 -ladvapi32
Creating library file: canoo.dll.a
Kind regards,
Uwe
More information about the odb-users
mailing list