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]
 

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last 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 23:15]
mario added more linker issues
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 linking QT statically, some problems arise:
 +    * static linked QT can't use plugins (no jpeg, mng, and others)
 +    * on MacOS, one can not build x86_64 (Cocoa) QT statically
 +  * when linking QT dynamically,​ several issues arise:
 +    * dynamic QT requires its dependency-libraries available at compile-time. Since QT links against libpng, which is compiled using qmake, that is a cat-tail-problem.
 +  * dynamic linking on Windows is a big problem:
 +    * libraries need to export symbols, else the *.lib import library file is missing. E.g., libpng and zlib can not easily be compiled dynamically on Windows using the qmake-based build system!
 +
 +
  
  
devel/collection_development_problems.txt ยท Last modified: 2010/10/09 13:24 by mario
Contact: admin(a)xuvtools.org