我在Ubuntu上构建一个 QT 应用程序非常好用。现在我必须在Windows上部署它,所以我安装了 MXE 以交叉编译我的源代码。
git clone https://github.com/mxe/mxe.git
cd mxe
# I need posix threads, that why I build static.posix target
make MXE_TARGETS='i686-w64-mingw32.static.posix' qtbase libxml2
我使用个人库(使用cmake
)和我的 QT 代码的客户端/服务器代码,我用 MXE 编译了它不要给出任何错误(我努力修复它们......)。然后, QT 的编译到达结尾而没有任何错误。
每当我尝试执行程序(在Ubuntu或Windows上使用wine
时)它都不起作用。 wine
冻结,Windows向我显示Runtime Error
。
我还尝试在我的可执行文件中使用windeployqt.exe
使用wine
,跳转它会给我丢失的dll,但它告诉我:
Z:\path\release\Executable.exe 32 bit, release executable
Z:\path\release\Executable.exe does not seem to be a Qt executable.
我真的不知道什么是坏的。我忘了放dll,还是我的编辑失败了?有谁知道或有关于如何处理这种情况的想法?
显然我正确编译了我的程序,使用Windows时错误似乎来自GetAdapterAdresse
。问题根本不是来自MXE(我很高兴我让它工作了)。
我必须查看此功能,但有人知道如何使gdb
与 MXE 一起使用?当我运行make gdb
时,它已构建了一些东西,但我无法弄清楚程序的位置。