Mark,
I tried again after manually deleting the files that "make distclean" takes care of and tried again but it still doesn't work. So next I compiled the qt5 mdi example(just because our app is mdi based but implemented differently) and the mdi.exe works fine thru wine as well as in my VM. So I think you might be right, something either in our sources or possibly our .pro file isn't exposed anywhere else but when using MXE. I'll dive into the problem deeper, I'll do a fresh clone of our code and start systematically dismembering it until it works so I can pinpoint the problem. I'll post what it is when I find it since it is quite mysterious. After that, then I'll try a shared MXE build.
The CONFIG+=deploy is just something we added to our .pro files that ensures a release build is made rather than a debug one and has the benefit of being shorter to type. It's also something we will be integrating into our nightly build system.
Thanks for the explanation about JOBS vs -j4.
Cheers,
Jonathan