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
Last revision Both sides next revision
devel:collection_development_problems [2010/10/07 00:15]
mario added linking comments
devel:collection_development_problems [2010/10/07 23:15]
mario added more linker issues
Line 31: Line 31:
 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: 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.   * 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 linking QT staticallysome problems arise: 
-  * 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.+    * 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 dynamicallyseveral 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