XuvTools is developed in a cooperative effort from:
  • Chair of Pattern Recognition and Image Processing [www]
  • Friedrich Miescher Institute for Biomedical Research [www]
  • Center for Biological Systems Analysis [www]


This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
devel:collection_development_problems [2010/09/19 14:16]
mario added boost common pitfalls
devel:collection_development_problems [2010/10/07 00:15]
mario added linking comments
Line 27: Line 27:
 --layout=versioned - default: full flags in library name. Example: libboost_thread-vc90-mt-gd-1_44.lib --layout=versioned - default: full flags in library name. Example: libboost_thread-vc90-mt-gd-1_44.lib
 </​code>​ </​code>​
 +== static versus dynamic linkage ==
 +A commonly reoccuring topic is linkage: static versus dynamic. XuvTools links all libraries statically (except for JVM, which is not available statically). Here is a collection of facts to start with:
 +  * mixing dynamic and static linkage is not a good idea. Each dynamic object will contain a copy of all static libs its linked against, so you can have a (different) libpng.a in every dll and the executable. What is worse: when throwing exceptions that are defined in static code, multiple instances exist, so the matching (=catching) might fail.
 +  * when statically linking QT, it can't use plugins (no jpeg, mng, and others)
 +  * when dynamically linking QT, it needs all system-libraries available at compile-time. Since QT links against libpng, which is compiled using qmake, that is a cat-tail-problem.
devel/collection_development_problems.txt ยท Last modified: 2010/10/09 13:24 by mario
Contact: admin(a)xuvtools.org