符号链接与path路径的区别?

1. 问题

在使用llvm-gcc的时候,总是弹出如下出错:

llvm-gcc: error trying to exec 'cc1': execvp: No such file or directory


2. 解决过程

(1)刚开始,以为是没有cc1,所以到处找。发现linux的gcc目录有cc1,在/usr/lib/gcc/4.*.*/目录下;llvm-gcc的目录里面也有cc1,在libexec/子目录下。

(2)但是,cc1没有在path路径里面。于是试着将/usr/lib/gcc/4.*.*/目录添加到path路径。出现的错误是:emit-llvm-bc选项无法识别。现在问题越来越明显,应该是原有gcc中的cc1并不支持llvm特有选项;所以需要使得llvm-gcc访问自己的libexec目录下的cc1。但是,简单地将libexec目录下的cc1添加到path路径,容易搞乱二进制文件。更重要的是,llvm-gcc应该能找到自己专属的cc1的。

(3)因为刚开始调用llvm-gcc是通过将llvm-gcc放在path路径直接使用的,觉得可以看一下完整路径下使用是什么情况。结果,对了。就是说,使用完整路径运行llvm-gcc时,可以自动寻找libexec目录下的cc1;通过加入path路径的方法,简单地运行llvm-gcc,会寻找系统库目录中cc1.


3. 解决方案

       在/bin目录下建立符号链接,而不是通过添加path路径,即可解决。

       困惑的是,难道通过path路径,访问的cc1就变了;而符号链接没有变?


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值