【问题标题】:Running an exe on Windows that was cross-compiled on Linux在 Windows 上运行在 Linux 上交叉编译的 exe
【发布时间】:2016-11-02 15:12:17
【问题描述】:

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

  • 本机系统:Ubuntu 14.04(64 位)。
  • 在 Native 上编译环境:mingw-w64
  • 目标系统:Windows 10(64 位)
  • 在目标上运行环境:cygwin

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

我查看了从“可能已经有你的答案的问题”建议中获得的几个搜索结果,但没有一个包含确切的问题。

【问题讨论】:

    标签: c++ windows cygwin cross-compiling mingw-w64


    【解决方案1】:

    我认为问题源于 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"

    【讨论】:

    • 谢谢@Cherkesgiller。上述解决方案有效。
    猜你喜欢
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2011-02-11
    相关资源
    最近更新 更多