运行 Windows 上的一个 exe,在 Linux 上交叉编译
Running an exe on Windows that was cross-compiled on Linux
目标:在Linux上交叉编译一个cpp代码并在Windows上执行它。
- 本机系统:Ubuntu14.04(64 位)。
- 原生编译环境:mingw-w64
- 目标系统:Windows10(64 位)
- 运行 目标环境:cygwin
看了一堆东西后,我在 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"
目标:在Linux上交叉编译一个cpp代码并在Windows上执行它。
- 本机系统:Ubuntu14.04(64 位)。
- 原生编译环境:mingw-w64
- 目标系统:Windows10(64 位)
- 运行 目标环境:cygwin
看了一堆东西后,我在 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"