MinGW编译的可执行文件与网络不能在x64系统上运行

时间:2018-02-14 13:27:21

标签: c++ mingw cross-compiling 32bit-64bit winsock

我使用Windows套接字在C / C ++中编写了一个应用程序,并在使用MinGW编译时将其与-lws2_32链接。我在Windows上编译(我已尝试过x32和x64 VM)。问题是,如果我在x32机器上运行可执行文件(我试过一台Windows XP机器),那么如果在没有安装MinGW的情况下从x64 VM运行,它就会陷入网络中。

我试图编译女巫静态,静态g ++和静态libc,但没有真正有效。它是一个带有UDP客户端和TCP服务器的程序。 Windows要求防火墙权限,但数据包永远不会发送(我只是为了确保运行wireshark)。

编译时我做错了吗?我是Windows编程和交叉编译的新手。

1 个答案:

答案 0 :(得分:0)

最终我解决了我的问题。问题是VM使用Wireshark安装了npcap,这创建了一个环回虚拟网卡。由于某种原因,该接口连接时程序无法正常工作。

发送的数据包是UDP广播数据包。