Ubuntu上的Eclipse CDT出现32/64位问题

时间:2011-01-15 07:51:18

标签: linux 64-bit eclipse-cdt ubuntu-10.10

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

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

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

我看过很多关于在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位二进制文​​件。

1 个答案:

答案 0 :(得分:0)

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

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

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

关于运行32位二进制文​​件,这篇文章可能有用:http://stefaanlippens.net/32bit_executable_on_64bit_machine