【问题标题】:mac osx yosemite gcc cannot execute binary file , command not foundmac osx yosemite gcc 无法执行二进制文件,找不到命令
【发布时间】:2016-02-14 13:35:18
【问题描述】:

这篇文章:https://superuser.com/questions/724301/how-to-solve-bash-cannot-execute-binary-file不能帮我解决我的问题。

步骤如下:

gcc -c hello.c -o hello.o

当我输入命令时:

./hello.o

消息是:

./hello.o:找不到命令

我试试这个:

chmod 755 ./hello.o

再次执行,消息是:

-bash: ./hello.o: 无法执行二进制文件

我检查了文件版本,二进制文件是 Mach-O 格式。

我输入这个命令:

file ./hello.o

它显示:

./hello.o:Mach-0 64 位对象 x86_64

我该如何解决这个问题?

【问题讨论】:

    标签: c xcode macos bash gcc


    【解决方案1】:

    从编译命令中删除 -c。使用 -c 您正在生成一个目标文件,而不是可执行文件。并且您可能不想调用可执行文件 hello.o,因为约定将 .o 文件作为目标文件。所以gcc -o hello hello.c; ./hello

    【讨论】:

    • 我忘了这是一个目标文件!但是,如果我想让这个目标文件可执行,我需要链接这个目标文件吗? gcc hello -o hello_executable 。我执行此命令,它确实有效。感谢您的帮助!
    • gcc 在自动编译后为你做链接。
    猜你喜欢
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 2011-04-14
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多