"Cannot execute binary file"在 Ubuntu for Windows 平台上使用 Eclipse 运行编译的 c++ 程序时

"Cannot execute binary file" when running compiled c++ programs with Eclipse on Ubuntu for Windows platform

本文关键字:运行 Eclipse 编译 程序 c++ 平台 binary execute Cannot file Windows      更新时间:2023-10-16

我想从Windows平台上的Visual Studio转移到Ubuntu上的Eclipse进行c++开发,因为我几乎所有的程序都是在Java上开发的,使用Eclipse,并且我只是使用Windows虚拟机来开发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/

有了这个配置,我能够正确地构建一个。exe,我可以成功地在Windows上执行,但当试图调试它或在Eclipse下执行它时,我得到这个错误:"不能执行二进制文件"。

谷歌我看到一些帖子建议使用葡萄酒来执行。exe,但我认为mingw32将能够执行它。是我错了,这是不可能的,还是我做错了什么?

Mingw32是一个windows编译器,将源代码编译为windows可执行文件。此外,编译器不能执行文件(如问题中所述),它只是将源代码编译为可执行形式,在本例中是windows可执行文件(*.exe)。是的,为了在Ubuntu中运行。exe你需要像Wine这样的东西来模拟Windows环境

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

为Ubuntu构建,你可以使用本地编译器。

sudo apt-get install gcc