title: How do you prioritize global constructors?
body: <p>I had a program written using Qt's shared library version (5.2.0) and it displayed fonts okay (presumably filling it's Database from /usr/share/fonts).  (Not sure whether the Designer text is from the same Database as the programmed font handling.)  But then I recompiled it under the open source static version (5.2.0), and the fonts went ugly. </p>
  
  <p>I disrupted the path to the installed Qt (since the whole idea of the static version is to be independent of development directories) and sure enough it complained of not being able to access any fonts.  So I concluded Qt changed their static version to no longer input /usr/share/fonts.  A little research on the internet told me they instead look under ...somedir/lib/fonts.</p>
  
  <p>With a little more research I found I could use env var QT_QPA_FONTDIR to set the directory of search (though I suspect it might have been reduced to a one-level search, not recursive).  Not wanting to have to write a script to wrap the program and set the environment variable before calling it, I proceeded to use a putenv() in the program.  I chose a place that I thought would set the variable before Qt read the environment, and since global contructors are called before main() and certainly before QApplication is instantiated, I put it in a constructor. </p>
  
  <p>But, guess what, they seem to read the environment before my constructor set the QT_QPA_FONTDIR=/usr/share/fonts. </p>
  
  <p>So please help!!!!  How do I make MY constructor get executed first?</p>