Ubuntu的终端用GCC编译C源代码提示找不到命令? 20

我装的是Ubuntu最新版本12.10,GCC和GCC所需基本库都已经安装过的我试过了的但编译C源代码文件的时候还是提示未找到命令是怎么回事?别跟我提权限我开了sudo权... 我装的是Ubuntu最新版本12.10,GCC和GCC所需基本库都已经安装过的
我试过了的但编译C源代码文件的时候还是提示未找到命令是怎么回事?
别跟我提权限我开了sudo权限试过了的,结果是一样的
不了解什么是未找到命令的还是不要来愰我眼了。
展开
 我来答
匿名用户
2013-05-17
展开全部
文件名有空格

1、你可以将文件名改为没有空格而是连在一起的
比如改为 confusedrecruitingpolicy.c
然后用命令进行编译
gcc -c confusedrecruitingpolicy.c
2、不用改名但要加上 \ 表示你的输入还没结束,不然默认参数是以空格为分隔符的
试一下这样:
gcc -c confused\ recruiting\ policy.c
更多追问追答
追问
与名称无关的,我用code:blocks就可以正常编译和链接
追答
你用codeblocks的时候他也是调用命令gcc的,只是codeblocks的开发人员肯定也考虑到了 用户的文件名会有空格,对于这种情况调用命令的时候可定会经过一定处理

我看到你的图片了,
你第一次输入的是gccconfusedrecruitingpolicy.c
中间没有任何空格,所以终端就认为你输入的是一条命令,
而这个命令是“ gcc-cconfusedrecruitingpolicy.c ”
linux下自然没有这么一条奇葩的命令的

第二次你输入的是which gcc就可以看到在系统path中gcc所在的位置,从显示来看你的gcc在path中的/usr/bin/下,也就是说你输入gcc执行的是就是/usr/bin/gcc而不是其他目录的gcc

第三次你输入的是gcc -c confused recruiting policy.c
中间有三个空格,终端将你命令的意图理解为
用gcc去处理三个文件confused、recruiting、policy.c

-c表示处理方式是编译而不链接
报错的原因是你当前目录下没有这三个文件confused、recruiting、policy.c

第四次输入跟第一次输入就有异曲同工之妙了,只是加了一个-c而已

如果你不愿意修改文件名的话,加上 \ 吧,真的可以解决你问题,你为什么不先试试呢。很明显你是新手,我原谅你的无知,因为我曾经也是这么过来的,现在我也只算是个资深菜鸟而已,废话不多说,复制粘贴下面的命令到终端执行,你会看到你想要的效果:
gcc -c confused\ recruiting\ policy.c
liao123han
2013-05-18
知道答主
回答量:1
采纳率:0%
帮助的人:1503
展开全部
前面的那位朋友已经回答得很清楚了!我不知道“confusedrecruitingpolicy.c”这个.c的文档名有木有空格在里面,但是取这样一个文档名确实不应该。那个.c源文件在主文件夹下了,按理说用命令“gcc -c .c源文件名”就可以了!注意命令参数之间要有空格 ......
追问

笑尿了,竟然来了个文档名称不应该的。看不懂图么?也好意思说个JB

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-23
展开全部
看不下下去了,回答的都说这么清楚,提问者连什么是命令,什么是参数,什么时候要空格都不懂,提问者就一个43(麻烦提问者将[32+11]转换成16进制)

感情你应该是学计算机的,我觉得你真心不适合这行,转吧
追问
又跑来一装A和C中间的那个的了,带笔,不解释。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式