0

我最近刚刚开始在我的 PC 上运行 Linux,我正在尝试开始学习 OpenGL。我使用最新版本的 Eclipse CDT 作为我的 IDE,我的系统是 Ubuntu 10.10,64 位版本。

我遇到的问题是,每当我尝试从 IDE 中运行构建时,都会收到错误消息“启动失败。找不到二进制文件”。

我在互联网上做了很多环顾四周,但我仍然无法解决问题。我知道二进制文件已构建,它可以从终端窗口运行。根据帖子,我看到的问题是 Eclipse 尝试运行 32 位二进制文​​件,但 GCC 4.4.5 在 64 位系统上默认为 64 位二进制文​​件。* 编辑 *是我收集上述信息的地方

我已经看到很多关于在 makefile 中使用 -m32 标志的信息,但是我仍然在 Eclipse 中得到以下输出:

make all 
g++ -o HelloWorld2 main.o 
/usr/bin/ld: i386 architecture of input file `main.o' is incompatible with i386:x86-64 output
/usr/bin/ld: final link failed: Invalid operation
collect2: ld returned 1 exit status
make: *** [HelloWorld2] Error 1

我想知道的是如何让 Eclipse 启动 64 位二进制文​​件,或者让 Eclipse 正确编译 32 位二进制文​​件。

4

1 回答 1

0

(我能够重现您描述的错误,所以我的答案是基于“逆向工程”错误)。

在 Eclipse 项目窗格中,右键单击项目并转到“属性”。在C/C++ Build->下Settings,单击Binary Parsers选项卡,并确认Elf Parser已选中。(我不确定它是否需要成为唯一检查的解析器)。

readelf -h myBinary.o顺便说一句,您可以使用并查看该Class字段来验证二进制文件的类。

关于运行 32 位二进制文​​件,也许这篇文章有帮助:http: //stefaanlippens.net/32bit_executable_on_64bit_machine

于 2011-01-16T09:30:41.347 回答