【问题标题】:Wrong Architecture when running executable from Xcode4 on UNIX在 UNIX 上从 Xcode4 运行可执行文件时架构错误
【发布时间】:2011-10-17 11:46:37
【问题描述】:

首先,我对编程很陌生。

  1. 我有一个在 Snow Leopard 上使用 Xcode 4 构建的程序。 该项目的架构设置为“标准(32/64 位英特尔)”

  2. 之后我将可执行文件导出到 UNIX 计算机上运行。

  3. ssh 到那台计算机

  4. 在终端(UNIX 计算机)中键入 ./programname 会给出以下响应: 执行格式错误。错误的架构。

该程序在我的 Mac 笔记本电脑上运行良好。

【问题讨论】:

    标签: unix xcode4 terminal


    【解决方案1】:

    当您编译一个程序时,它将 (*) 针对特定平台特定操作系统进行编译。它也很可能针对一组特定的库进行编译。 通常这些参数正是计算机进行编译的参数(其他情况称为交叉编译)。

    换句话说:在 Mac 上编译程序将生成一个在 Mac 上运行的二进制文件(除非再次进行交叉编译)。您的 UNIX 系统(顺便问一下,哪个 UNIX?)有不同的操作系统、不同的库,甚至可能有不同的 CPU 架构。

    有些相关:Apple 将 Mac OS X 宣传为(或曾经宣传)为 UNIX。虽然 Mac OS X 肯定是 UNIX 级操作系统,但这并不意味着它与所有其他 UNIX 级操作系统二进制兼容。

    * 几乎总是如此,除了旨在避免这种情况的系统(例如 Java)

    【讨论】:

      【解决方案2】:

      XCode编译的程序只能在MacOS X下运行。除非步骤2中的“UNIX计算机”运行的是MacOS,否则程序将无法运行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-21
        • 1970-01-01
        • 2013-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-01
        • 1970-01-01
        相关资源
        最近更新 更多