我刚刚开始在我的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位二进制文件。
答案 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