gpt4 book ai didi

c++ - "Launch Failed. Binary Not Found."雪豹和Eclipse C/C++ IDE问题

转载 作者:IT老高 更新时间:2023-10-28 13:02:37 27 4
gpt4 key购买 nike

不是问题,我刚刚在互联网上搜索了这个问题的解决方案,并认为我会与 SO 的好人分享。我会用简单的术语来说明它,以便新手可以使用它。 :)(抱歉,如果这是错误的地方 - 只是想提供帮助。)

几乎所有尝试使用 Eclipse C/C++ IDE 的 OS X Snow Leopard 用户都会出现此问题,但对于在 Leopard 中使用 Eclipse C/C++ IDE 的人(如我)来说尤其烦人,并且升级后无法再使用 Eclipse。当用户去构建/编译/链接他们的软件时,就会出现这个问题。他们收到以下错误:

Launch Failed. Binary Not Found.

此外,左侧项目窗口中的“二进制”分支根本不存在。

问题:Snow Leopard 附带的 GCC 4.2(GNU 编译器集合)默认编译 64 位二进制文​​件。不幸的是,Eclipse 使用的链接器不理解 64 位二进制文​​件。它读取 32 位二进制文​​件。这里可能还有其他问题,但简而言之,它们最终导致没有生成二进制文件,至少不是 Eclipse 可以读取的,这意味着 Eclipse 找不到二进制文件。因此出现错误。

一种解决方案是在制作文件时添加 -arch i686 标志,但每次手动制作文件很烦人。幸运的是,Snow Leopard 还附带 GCC 4.0,默认编译为 32 位。因此,一种解决方案只是将其链接为默认编译器。我就是这样做的。

解决方案:GCC 位于/usr/bin 中,这通常是一个隐藏文件夹,因此您无法在 Finder 中看到它,除非您明确告诉系统您想查看隐藏文件夹。无论如何,您要做的是转到/usr/bin 文件夹并删除将 GCC 命令与 GCC 4.2 链接的路径,并添加将 GCC 命令与 GCC 4.0 链接的路径。换句话说,当您或 Eclipse 尝试访问 GCC 时,我们希望命令转到默认构建为 32 位的编译器,以便链接器可以读取文件;我们不希望它进入以 64 位编译的编译器。

最好的方法是转到应用程序/实用程序,然后选择名为终端的应用程序。应该出现一个文本提示。它应该说类似“(计算机名):〜(用户名)$”(最后有一个空格供用户输入)。完成上述任务的方法是输入以下命令,按顺序逐字输入每个命令,并在每一行后按回车键。

cd /usr/bin
rm cc gcc c++ g++
ln -s gcc-4.0 cc
ln -s gcc-4.0 gcc
ln -s c++-4.0 c++
ln -s g++-4.0 g++

像我一样,您可能会收到一条错误消息,告诉您您无权访问这些文件。如果是这样,请尝试以下命令:

cd /usr/bin
sudo rm cc gcc c++ g++
sudo ln -s gcc-4.0 cc
sudo ln -s gcc-4.0 gcc
sudo ln -s c++-4.0 c++
sudo ln -s g++-4.0 g++

Sudo 可能会提示您输入密码。如果您以前从未使用过 sudo,请尝试按 Enter 键。如果这不起作用,请尝试使用您的主管理员帐户的密码。

其他可能的解决方案您可以将构建变量输入到 Eclipse 中。我试过这个,但我对此知之甚少。如果您想感受一下,您可能需要的标志是 -arch i686。说真的,GCC-4.0 一直为我工作,我现在看不出有任何理由切换。可能有一种方法可以更改编译器本身的默认值,但我对它的了解还不够。

希望这对您有所帮助且内容丰富。编码不错!

最佳答案

只是为了记录,在挣扎了 30 分钟后,我通过选择 Mach-O 64 Parser 和 Elf Parser 在 Lion (mac 10.7) 上解决了这个问题:Project Menu -> Properties->C/c++ Build->Settings->Binary Parsers 选项卡(Eclipse 版本中的第一个选项卡或第三个选项卡:3.7.2)[同时听 gwen stefani 的甜蜜逃亡,哈哈]。

关于c++ - "Launch Failed. Binary Not Found."雪豹和Eclipse C/C++ IDE问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1668447/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com