0

我正在Ubuntu 上构建一个运行良好的QT应用程序。现在我必须在 Windows 上部署它,所以我安装了MXE以交叉编译我的源代码。

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

我为我的QT代码使用了一个个人库(使用cmake)和一个客户端/服务器代码,我使用MXE编译它并没有给出任何错误(我努力修复它们......)。然后,QT的编译结束,没有任何错误。

每当我尝试执行程序(wine在 Ubuntu 或 Windows 上)它都不起作用。wine冻结,Windows 显示一个Runtime Error.

我还尝试在我的可执行文件上使用windeployqt.exeusing 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,还是我的编译默默地失败了?有谁知道或有关于如何处理这种情况的想法?

编辑

显然我正确编译了我的程序,错误似乎来自GetAdapterAdresse使用 Windows 时。问题根本不是来自 MXE(我很高兴我让它工作了)。

我得看看这个功能,但有人知道如何gdb使用MXE吗?当我运行make gdb时,它已经构建了一些东西,但我无法弄清楚程序在哪里。

4

0 回答 0