I am after a little bit of help, not an issue for someone to fix but more theory or the right path to go down would be helpful. I am quite new with C, C++. But I offered help to friend and have become a little stuck myself.
I am cross-compiling for Windows a project in MXE. The project uses QT 4 (QTCore, QTGui, QTNetwork and QTWebKit), Boost, OpenSSL, BerkelyDB.
Now before he added QTWebKit I was able to compile the project using i686-w64-mingw32.static, I understand due to library conflicts with QTScript that MXE Cannot compile QTWebKit with static and this requires it to be compiled with i686-w64-mingw32.shared
Now, The exe compiles in i686-w64-mingw32.shared but requires about 35 different DLL libraries with it to run including libgcc* dlls. Even though the .pro or makefile has -static-libgcc & -static-libstdc++
So my question is.
Is there a way to compile this project so that most of the libraries are static, the ones that can be, like libgcc* & boost and only a few like QTWebKit are dynamic or (shared?)?
I appreciate any help that you can offer in this situation.
try TDM-mingw OR build your custom MinGW-GCC from source and make all libraries static link by default.