cscope解决找不到该文件问题(File ../xxx/yyy.c不存在)

出错情况:

之前一直在使用cscope来阅读源码,期间碰到过找到了函数/变量定义,却跳转不过去的情况,提示”File ../xxxx/yyyy.c”不存在之类的错误。

解决方法:

出现该问题的原因是当我们使用cscope -Rbq生成cscope.out文件时,使用的是相对路径。解决的思路也很简单,生成时使用绝对路径即可。cscope官方提供了一个解决方案:使用cscope.files文件来生成cscope.out文件即可。

cscope.files存的内容是需要建立索引的所有文件名。像这样:
这里写图片描述
至于如何生成该文件,最简单的方法就是使用find命令将所有符合条件的文件列出,重定向到cscope.files中。例如find ./ -name *.c >> cscope.files。当然,也可以写一个简单的shell或者python脚本来生成(末尾提供python脚本源码,在需要生成cscope.files的目录下执行即可)。

有了cscope.files之后,我们运行cscope -bqk即可。这样相对路径的问题就解决了。

简易python脚本:

#!/bin/python

import os

save_file = open("cscope.files", 'w')

for root, dirs, list in os.walk("./"):
    for i in list:
        cur_path = os.path.abspath(root)
        file_path = cur_path + '/' + i

        save_file.write(file_path+'\n')

save_file.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值