执行任何GCC编译C程序执行时,我已经从终端编译gcc
任何C程序,我得到一个权限被拒绝的错误。拒绝了对OS X(10.8.2)山狮
要开始,我已经验证了我的驱动器(在此之前,同样的问题发生了什么)在修复权限。
为了说明和隔离问题,我会告诉你这个超简单的Hello World程序会发生什么情况(与其他程序,发生同样的事情):
#include <stdio.h>
main()
{
printf("Hello World");
}
现在,我这个保存到我的桌面为helloworld.c
。在这一点上,从桌面上,一个ls -l
回报:
total 8
-rw-r--r-- 1 michael staff 56 Mar 13 14:08 helloworld.c
然后,我gcc -c helloworld.c -o helloworld
编译(我也试过没有-o
标志具有相同的结果编译)。没有警告或错误。一个ls -l
现在返回:
total 16
-rw-r--r-- 1 michael staff 56 Mar 13 14:08 helloworld.c
-rw-r--r-- 1 michael staff 724 Mar 13 14:16 helloworld.o
试图执行的gcc的输出,具有./helloworld.o
回报:
-bash: ./helloworld.o: Permission denied
只是为了调试的缘故,如果我使用sudo(sudo ./helloworld.o
)执行,则返回:现在
sudo: ./helloworld.o: command not found
,如果我尝试设置使用chmod +x helloworld.o
可执行的标志,如被推荐上了很多搜索的r esults我发现,ls -l
回报:
total 16
-rw-r--r-- 1 michael staff 56 Mar 13 14:08 helloworld.c
-rwxr-xr-x 1 michael staff 724 Mar 13 14:16 helloworld.o
但是,试图与./helloworld.o
执行现在返回:
-bash: ./helloworld.o: Malformed Mach-o file
现在,用于调试的缘故,where gcc
回报:
/usr/bin/gcc
所以,你可以看到我没有使用第三方gcc
。
有谁知道可能是什么问题?我尝试过四处搜寻,但找不到任何工作解决方案。我早些时候遇到过这个问题,并且自从刚刚重新安装OS X(出于不同的原因),并且仍然存在这样一个干净且有组织的开发环境的问题。作为参考,我使用的是OS X 10.8.2,并且具有Xcode 4.6以及最新版本的Xcode命令行工具(来自Apple的开发人员网站)。我没有从Homebrew或任何其他第三方来源安装gcc;它是Xcode命令行工具附带的gcc。
非常感谢您的帮助!我非常感谢您花时间阅读,诊断并提供帮助。 :)
我有这个问题,当我做foobar.c foobar.c有错误的地方。当我修复错误时,它就起作用了。 – quantumpotato 2014-01-12 00:23:29