“启动失败。未找到二进制文件。” Snow Leopard 和 Eclipse C/C++ IDE 问题

2024-03-20

不是问题,我刚刚在互联网上搜索了这个问题的解决方案,并认为我会与 SO 的好人分享。我会用通俗易懂的语言来表述,以便新手也能理解。 :)(如果这是错误的地方,我们深表歉意——只是想提供帮助。)

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

启动失败。未找到二进制文件。

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

问题是: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 位进行编译的编译器。

执行此操作的最佳方法是转到“应用程序/实用程序”,然后选择名为“终端”的应用程序。应该会出现文本提示。它应该显示类似“(计算机名称):~(用户名)$”(末尾有一个供用户输入的空格)。完成上述任务的方法是输入以下命令,逐字输入每个命令,并在每一行后按 Enter 键。

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) 上解决了这个问题:项目菜单 -> 属性 -> C/c++ Build -> 设置 -> 二进制解析器选项卡(第一个选项卡,或 Eclipse 版本上的第三个选项卡:3.7.2)[一边听 gwen stefani 的《sweet escape》哈哈]。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“启动失败。未找到二进制文件。” Snow Leopard 和 Eclipse C/C++ IDE 问题 的相关文章

  • c++11 正则表达式比 python 慢

    嗨我想了解为什么以下代码使用正则表达式进行分割字符串分割 include
  • C++ 模板中的名称查找

    我有一些 C 代码 如果没有 fpermissive 选项 就无法再编译 这是我无法分享的专有代码 但我认为我已经能够提取一个简单的测试用例来演示该问题 这是 g 的输出 template eg cpp In instantiation o
  • OpenCV Visual Studio ntdll.dll

    我尝试在 Visual Studio 2013 上使用 OpenCV 2 4 10 创建一个项目 但由于以下异常 到目前为止我运气不佳 请建议帮助 TIA letstryitonemoretime exe Win32 Loaded C Us
  • CMake 和 Visual Studio:如何获得快速、安静的命令行构建?

    我有一个 cmake 项目 它成功地完成了我想要的一切 但我有大约 100 个文件 当我只需要重新编译一个文件时 我厌倦了每次看到生成的巨大输出 每个文件 30 行 明确地说 我正在编译cmake build 得到这个结果 我需要传递给编译
  • C 中的复合语句表达式

    下面的代码不起作用 int i void 999 100 添加括号就可以了 为什么 int i void 999 100 还有另一种方法可以完成此类分配 int i void 999 100 是什么让他们与众不同 在这份声明中 int i
  • 隐式方法组转换陷阱

    我想知道为什么给定代码的输出 在 LinqPad 中执行 void Main Compare1 Action Main Dump Compare2 Main Dump bool Compare1 Delegate x return x Ac
  • C++ 非类型参数包扩展

    我正在编写由单一类型参数化的模板函数 并且具有可变数量的相同类型 而不是不同类型 的参数 它应该检查第一个值是否在其余值中 我想这样写 include
  • 基于 MS Bot Framework 中的响应分支对话框/表单

    我们正在尝试使用 MS Bot Framework 但尚未完全弄清楚如何实现此场景 我们有一个 LUIS 对话框 类型 它工作正常并且经过适当的培训 以常见的三明治为例 LUIS 意图寻找的基本内容是用户询问订单状态 如果问题中提供了订单号
  • C++ 私有静态成员变量

    此 C 代码在编译时产生链接器错误 A h class A public static void f private static std vector
  • C 中“for”循环中的两个变量

    我正在编写一些代码 需要在其中使用两个变量for环形 下面的代码看起来没问题吗 它确实给了我预期的结果 for loop 1 offset loop 2 offset 2 loop 1 gt offset 190 loop 2 lt 190
  • 套接字:监听积压并接受

    listen sock backlog 在我看来 参数backlog限制连接数量 这是我的测试代码 server initialize the sockaddr of server server sin family AF INET ser
  • 为什么C++变量是指针时不需要正确定义?

    我对 C 语言完全陌生 特别是指针 经验主要是 PHP 并且希望对以下内容进行一些解释 我已经尝试寻找答案 这两行代码如何能够在我的程序中完成完全相同的工作 第二行似乎违背了我迄今为止所学到和理解的关于指针的一切 char disk 3 D
  • 无法将方法组“Read”转换为非委托类型“bool”

    我正在尝试使用SqlDataReader检查条目是否存在 如果存在则返回ID 否则返回false 当我尝试编译时 出现错误 无法将方法组 Read 转换为非委托类型 bool 我一直在遵循在 VB 中找到的示例 但似乎翻译可能不正确 pri
  • Qt mouseReleaseEvent() 未触发?

    我有一个显示图片的库 我们称之为 PictureGLWidget 其中 class PictureGLWidget public QGLWidget 所以 PictureGLWidget 扩展了 QGLWidget 在PictureGlWi
  • 如何使用 libpq 获取双精度值?

    The examples http www postgresql org docs 9 3 interactive libpq example htmllibpq 文档中展示了如何通过将整数值转换为主机字节序表示来获取整数值 我很好奇必须做
  • 如何从代码隐藏中向我的 div 添加点击事件?

    如何从代码隐藏中向我的 div 添加点击事件 当我点击 div 时 会出现一个消息框 其中显示 您想删除它吗 并在框中显示 是 或 否 全部来自后面的代码 while reader Read System Web UI HtmlContro
  • 需要使用 openssl 加密和解密文件的示例 C 代码

    我正在用 Linux C 编写代码 我需要使用以下命令来加密和解密文件 openssl 目前 我使用系统命令 des3 e nosalt k 0123456789012345 in inp file out out file 进行加密 使用
  • 在 try catch 块中返回到 catch 内是否不好?这是很好的做法

    在 try catch 块中从 C 中的 catch 块返回值是不好的做法吗 try Some code return 1 catch return 0 哪种使用 try catch 的方法是好的做法 不需要 只要返回的值是你想要的 你可以
  • double 类型的静态类成员的常量表达式初始值设定项

    在 C 11 和 C 14 中 为什么我需要constexpr在下面的代码片段中 class Foo static constexpr double X 0 75 而这会产生编译器错误 class Foo static const doub
  • 如何将 char 转换为 unsigned int?

    我有一个字符数组 它实际上用作字节数组 而不是用于存储文本 在数组中 有两个特定字节表示我需要存储到无符号 int 值中的数值 下面的代码解释了设置 char bytes bytes 2 bytes 0 0x0C For the sake

随机推荐

  • javascript html5 使用来自不同域的图像绘制图像

    所以我有以下代码 var element document getElementById myCanvas var width element width var height element height var context elem
  • 将地图限制在一定范围内?

    有没有办法设置地图边界并实际上限制用户只能在这些边界内平移 我最接近我需要的是mapView fitBounds方法 但它似乎根本不限制平移 我做错了什么或者这个方法没有达到我的需要吗 我正在使用 SKMaps iOS SDK 版本 2 5
  • 使用 SQL 查找不同值

    显示摘要中含有 discover discoverer discovery discovered discovering 等词的20个奖项的名称和奖项金额 我的查询 SELECT title count award abstract FRO
  • 获取当前活动的键盘语言为 NSLocale

    我已经找到了很多方法 但没有有效的解决方案 这是我尝试过但没有成功的方法 1 简单调用主要语言 UITextInputMode primaryLanguage 总是返回 nil 2 订阅UITextInputCurrentInputMode
  • 如何在给定特定 PID 的情况下终止 Java 中的进程

    如果我有特定的 PID 如何在 Windows 上从 Java 代码中终止特定进程 除了执行特定的操作之外 我不知道任何其他解决方案Windows命令就像Runtime getRuntime exec taskkill F PID 827
  • 为什么在尝试更新 OData 服务时 HttpWebRequest.GetResponse() 会挂起?

    我正在用 C 编写一个 OData 消费者 我可以成功删除一个条目 但由于某种原因 当我尝试更新时 它只是挂起 冻结在 GetResponse 上 它甚至忽略了我的超时 下面是我的测试代码 有什么明智的建议吗 XDocument doc X
  • 在 C 中取消引用字符串文字有什么影响?

    include
  • 在移动设备上拖放 HTML

    当您使用JavaScript向网页添加拖放功能 例如jQuery UI可拖放 时 如何在通过移动设备上的浏览器查看时使其发挥作用 在移动设备上 触摸屏的拖动操作会被拦截手机用于滚动页面等 欢迎所有解决方案 我最初的想法是 为移动设备提供一个
  • scriptcs - 无法读取包

    我关注了一个博客文章 http inaspiralarray blogspot com 2013 08 scriptcs in two minutes html只需两步即可运行 scriptcs 基本上 我是这样做的 powershell
  • 删除不在引号内的哈希注释

    我正在使用 python 来浏览文件并删除所有注释 评论被定义为散列及其右侧的任何内容只要哈希值不在双引号内 我目前有一个解决方案 但它似乎不是最佳的 filelines r re compile for line in f m r spl
  • 如何在 vscode 中将 .css 文件解析为 PostCSS?

    我在项目中使用PostCSS CSS文件的扩展名是 css所以当我打开一个时 它会指示一堆错误 由于 PostCSS 的语法 我已经尝试安装stylelint PostCSS syntax扩展等等 但没有任何效果 如果我将扩展名更改为 sc
  • 对话框中按钮的自定义放置 - jquery ui

    我想将添加到对话框的按钮移动到顶部或左侧 我正在使用 jquery ui 如何做到这一点 添加 ok 后 它会显示在最右端 可以将其放置在周围吗 function dialog message dialog modal true resiz
  • 使 Flexbox 上下颠倒换行

    今天 我正在查看我构建的 选项卡 HTML gizmo 我注意到由于我使用 inline block 来布局选项卡标题 当它们包装时 我会得到如下所示的输出 Apple Banana Cherry Date Elderberry Fig G
  • 使用 Gulp 将 browserify 模块设为外部

    我有一个图书馆lib js我想从中创建lib a js and lib b js并能够从脚本中使用它client js using var a require lib a js 当我只包含已编译的内容时它就可以工作lib js之前的图书馆c
  • 在 Google Apps 脚本中比较日期范围与今天的日期

    我希望使用这篇文章作为参考 将从电子表格中提取的日期与今天的日期进行比较 如何使用 Google Apps 脚本将日期与电子表格进行比较 https stackoverflow com questions 14350671 how do i
  • 访问派生类中的基类成员

    我有一个简单的课程如下 class A protected int x class B public A public int y void sety int d y d int gety return y int main B obj o
  • JetBrains Toolbox 应用程序在 Windows 上为空白

    我在 Windows 10 上安装了 JetBrains Toolbox 应用程序 但是当我启动它时 它只显示一个空白边框 如下所示 我尝试重新安装它但仍然不起作用 有人知道如何解决这个问题吗 看起来类似于ALL 1419 https yo
  • 那么如何通过终端打开Android SDK Manager呢? [复制]

    这个问题在这里已经有答案了 我已经将 CD 放入终端中的 android 工具目录中 我尝试输入 android 并按回车键 我也尝试输入 android sdk 并按回车键 但 sdk 管理器不会出现 有什么解决方案或建议可以帮助我了解我
  • HTML5 Canvas 形状从圆形到三角形

    我一直在环顾四周 似乎找不到一种清晰的方法来使形状从圆形变为三角形或矩形或相反 我假设我可以以某种方式存储形状并更改其属性以转换它 基本上我要问的是 如何绘制一个圆形 然后单击按钮将其动画化为三角形 画布形状可以吗 Thanks 您可以使用
  • “启动失败。未找到二进制文件。” Snow Leopard 和 Eclipse C/C++ IDE 问题

    不是问题 我刚刚在互联网上搜索了这个问题的解决方案 并认为我会与 SO 的好人分享 我会用通俗易懂的语言来表述 以便新手也能理解 如果这是错误的地方 我们深表歉意 只是想提供帮助 几乎所有尝试使用 Eclipse C C IDE 的 OS