无法在MAC终端上执行二进制文件

时间:2018-08-30 13:18:24

标签: c macos shell gcc

我使用了makefile来生成文件。 gcc -c hello.c -o hello 并通过以下方式解决了许可问题: chmod a + x。/您好 但是,当我要执行“ hello”文件时。 ./你好 系统告诉我“无法执行二进制文件” 有人能帮我吗?我很期待您的答复。

3 个答案:

答案 0 :(得分:6)

gcc的-c参数生成一个目标文件,稍后您必须链接该目标文件以生成可执行文件。您无法执行生成的目标文件。

相反,要同时编译和链接(适合只有1个.c文件的情况),请执行

gcc hello.c -o hello

或者如果您想将其分解成单独的编译和链接步骤,请执行

gcc -c hello.c -o hello.o
gcc hello.o -o hello

答案 1 :(得分:1)

检查GCC编译器是否正确安装在您的系统中。

gcc -v

编译文件:

gcc filename.cpp -o any-name

运行程序:

./any-name

答案 2 :(得分:0)

除了可以同时编译和链接之外,还可以使用make

make hello

注意:不带.c扩展名。

终端输出应为:

cc     hello.c   -o hello