Today I encounter this error after applying macdeployqt to my application. There is a lot of questions about this topic on google but not very answers.
The most important thing is setup following variable.
export DYLD_PRINT_LIBRARIES=1
Using this you will se which libraries are loaded during execution of your application. The interesting thing is, that I see loading a libraries from their original directories instead of Application.app. But when I temporary moved these libraries from their location, libraries begin to load from then bundle location.
The reason for my “QWidget: Must construct a QApplication before a QPaintDevice” was executing an older version of QTitanRibbon from shared libraries path instead of the newest one compiled directly to /usr/lib.
The second reason for this issue was caused by another path in “export DYLD_LIBRARY_PATH”. It seems that application search for libraries first in DYLD_LIBRARY_PATH and after in paths from their inner records.
To turn off this debug output, use:
unset DYLD_PRINT_LIBRARIES
Leave a Reply