运行 Windows 上的一个 exe,在 Linux 上交叉编译

Running an exe on Windows that was cross-compiled on Linux

目标:在Linux上交叉编译一个cpp代码并在Windows上执行它。

看了一堆东西后,我在 Linux 上安装了 mingw-w64 并使用 mingw-w64-g++ 生成了一个 helloWorld.exe 文件。 本次编译成功。当 运行 helloWorld.exe on Windows 时,它最初给出了 libstdc++-6.dll missing 的错误。 在将 Windows 上的 MinGW 安装的 DLL 路径添加到 PATH 变量中时,exe 运行并终止,没有任何输出。 它退出时出现错误代码 127 [未找到命令]。

我查看了从 "Questions that may already have your answer" 建议中获得的几个搜索结果,但 none 有确切的问题。

我认为问题源于 PATH 变量(安装 mingw64 的目录) 有时人们会混淆 \bin 文件夹。应该是 "C:\Program Files\mingw-w64\x86_64-5.3.0-posix-seh-rt_v4-rev0\mingw64\bin" 而不是 "C:\Program Files\mingw-w64\bin"