理论或方向、c++、qt 和使用 MXE 进行交叉编译

Theory or Direction, c++, qt and crosscompiling with MXE

我正在寻求一些帮助,这不是需要有人解决的问题,但更多的理论或正确的方法会有所帮助。我对 C、C++ 很陌生。但是我向朋友提供了帮助,自己却有点卡住了。

我正在交叉编译 Windows MXE 中的一个项目。该项目使用 QT 4(QTCore、QTGui、QTNetwork 和 QTWebKit)、Boost、OpenSSL、BerkelyDB。

现在,在他添加 QTWebKit 之前,我能够使用 i686-w64-mingw32.static 编译项目,我了解到由于与 QTScript 的库冲突,MXE 无法编译QTWebKit with static 这需要用 i686-w64-mingw32.shared

编译

现在,exe 在 i686-w64-mingw32.shared 中编译,但需要大约 35 个不同的 DLL 库到 运行,包括 libgcc* dll。即使 .pro 或 makefile 有 -static-libgcc & -static-libstdc++

所以我的问题是。

有没有办法编译这个项目,使大多数库都是静态的,可以是静态的,比如 libgcc* & boost,只有少数像 QTWebKit 是动态的或(共享的? )?

非常感谢您在这种情况下提供的任何帮助。

尝试TDM-mingw 要么 从源代码构建自定义 MinGW-GCC 并默认将所有库设为静态 link。