【问题标题】:"Cannot execute binary file" when running compiled c++ programs with Eclipse on Ubuntu for Windows platform在 Ubuntu for Windows 平台上使用 Eclipse 运行编译的 c++ 程序时“无法执行二进制文件”
【发布时间】:2016-01-10 17:06:28
【问题描述】:

我想从 Windows 平台上的 Visual Studio 迁移到 Ubuntu 上的 Eclipse 进行 c++ 开发,因为我几乎所有的程序都是在 Java 上使用 Eclipse 开发的,而且我只是使用 Windows 虚拟机来开发 C++ 程序赢操作系统。因此,如果我很高兴能够完全不使用 Windows VM。但是,我已经成功配置 MinGW 和 Eclipse 来编译程序,但不能执行它们。

到目前为止我已经完成的步骤:

我已经安装了 mingw32 包和依赖项:

$ sudo apt-get install mingw32

我已经安装了用于 C/C++ 开发的 Eclipse Mars(手动地,以保持这个安装与我拥有的其他 Eclipse 隔离)并以这种方式创建了一个新项目:

- New C++ project.
- [...]
- Cross-prefix: i586-mingw32msvc-
- Cross path: /usr/bin/

使用此配置,我能够正确构建一个可以在 Windows 上成功执行的 .exe,但是当尝试调试它或在 Eclipse 下执行它时,我收到此错误:“无法执行二进制文件”。

Googleing 我看到一些帖子建议使用 wine 来执行 .exe,但我认为 mingw32 能够执行它。我错了,这是不可能的还是只是做错了什么?

【问题讨论】:

    标签: c++ linux eclipse cross-platform mingw32


    【解决方案1】:

    Mingw32 是一个 Windows 编译器,将源代码编译成一个 Windows 可执行文件。此外,编译器不能执行文件(如问题中的措辞),它只是将源代码编译为可执行形式,在这种情况下是windows可执行文件(*.exe )。所以是的,为了在 Ubuntu 中运行 .exe,你需要类似 Wine 之类的东西来模拟 Windows 环境

    【讨论】:

      【解决方案2】:

      mingw 是一组用于构建本地 Windows 可执行文件的 GNU 工具。
      它不执行任何操作。
      如果你真的想为 Windows 进行交叉编译,你需要 Windows 或模拟器来执行。

      要为 Ubuntu 构建,您只需使用本机编译器即可。

      sudo apt-get install gcc
      

      【讨论】:

        猜你喜欢
        • 2015-04-03
        • 2016-02-23
        • 1970-01-01
        • 1970-01-01
        • 2014-03-29
        • 1970-01-01
        • 1970-01-01
        • 2016-02-07
        • 2011-04-14
        相关资源
        最近更新 更多