我需要一点帮助,而不是某个人要解决的问题,但是更多的理论或正确的选择将有所帮助。我对C,C++相当陌生。但是我向 friend 提供了帮助,但我自己变得有些困惑。
我正在Windows交叉编译MXE中的项目。该项目使用QT 4(QTCore,QTGui,QTNetwork和QTWebKit),Boost,OpenSSL,BerkelyDB。
现在,在他添加QTWebKit之前,我可以使用 i686-w64-mingw32.static 来编译项目,我知道由于与QTScript的库冲突,MXE无法使用静态编译QTWebKit,这要求它必须使用 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,默认情况下将所有库设为静态链接。
关于c++ - 理论或方向,c++,qt和与MXE的交叉编译,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34726510/