【问题标题】:What does "Failed to zip binaries" mean?“无法压缩二进制文件”是什么意思?
【发布时间】:2012-10-05 06:24:04
【问题描述】:

我已经成功编译了我的代码,但它说的是:

注意:您也可以通过键入“run”和任何命令行参数来运行您的应用程序。 启动没有 args 的应用程序... 检查库... 正在复制文件... 正在处理文件... 正在编译... 无法压缩二进制文件! 应用程序退出。

我希望我的代码让用户输入三个数字,中间有空格,然后让它们相乘,所以这是我的代码:

#include <stdio.h>
#include <stdlib.h>

int mult( int x, int y, int z) {
    return x * y * z;

int main()
    {
    int x;
    int y;
    int z;

    printf("Input two integers to be multiplied: ");
    scanf("%d", &x);
    scanf("%d", &y);
    scanf("%d", &z);
    printf("The product of the three numbers is %d\n", mult( x, y, z) );
    getchar();
}

int mult (int x, int y, int z)
{
return x * y * z;
    }
}        

我使用compilr.com 作为我的开发平台。

【问题讨论】:

  • 请添加平台和编译器信息。
  • @octopusgrabbus OP 已经声明他使用 compilr.com
  • @Bart 谢谢。很难找到。

标签: c binaries


【解决方案1】:

您的代码包含语法错误。 mult 定义了两次,大括号有问题。此外,如果您使用的是 C89,main 应该返回一个值。

【讨论】:

  • 感谢@Kirilenko 的帮助
【解决方案2】:

除了您的代码有些奇怪而且可能是错误的之外,在我看来您的错误表明存在链接器问题:http://ideone.com/iBOtP

【讨论】:

    【解决方案3】:

    其实你的代码will simply not link。您对mult 的第一个定义最后缺少一个大括号。您的第二个(不必要的)定义似乎后面有一个额外的大括号。因此,似乎只有一个大的 mult 方法,根本没有 main,导致链接器错误。 main(即使没有被大括号夹住)也不返回任何东西。

    令人惊讶的是,Compilr 似乎没有返回任何与此相关的错误。 (或者您不向我们展示)但是,由于链接失败,没有二进制文件。因此,当尝试压缩它们时,实际压缩失败并显示您看到的错误消息。

    我强烈建议您选择一个体面的编译器/IDE 来自己编译您的代码,然后再将其提交到其他任何地方。首先确保它确实可以在您的本地系统上运行。如果 compilr.com 没有返回任何实际的语法/编译器/链接器错误信息,那么它对您来说几乎没有用处。 (请注意,我不熟悉该系统,因此它可能实际上会提供给您。如果是这样,请弄清楚它是如何工作的)。

    【讨论】:

    • @Dirk 啊,你是对的。由于缺少主节点,它无法链接。大括号看到它包含在函数中。不在手机上修改一次。
    • “令人惊讶的是,Compilr 似乎没有返回任何与此相关的错误。(或者你没有向我们展示)”——compilr.com 使用 gcc。 gcc 支持嵌套函数。它还产生了一个 OP 没有报告的警告:“‘main’通常是一个非静态函数”。 “选择一个像样的编译器”——我认为 gcc 通常被认为是一个像样的编译器。人们应该停止指责 compilr.com,因为他们没有费心自己尝试。
    • @JimBalter 所以我的“或者你不给我们看”适用。我不使用编译器,也从未尝试过。我的回答是假设 OP 提供了他收到的所有信息,但显然情况并非如此。
    • 我也不用。我创建了一个帐户,这样我就不必假设非常不可信的事情,也不会仅仅根据一个无能的初学者的报告来抨击我从未使用过的一些工具。我还费心用谷歌搜索 C 本地函数,看看是否有编译器支持它们。
    • @JimBalter - 作为警告,请不要侮辱 cmets 中的其他用户。让我们在这里保持专业。
    猜你喜欢
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 2016-06-12
    • 1970-01-01
    相关资源
    最近更新 更多