例如在 source 目录下有 a b c common frame 五个文件夹,A B C 三个程序的主要源文件分别位于 a b c 三个目录,而 common 与 frame 下是一些通用的头文件与源文件,例如一些共用的函数、类的声明与定义;

A B C 三个程序分别有通过祖传工具生成的 makefile (不是 cmake ),我是利用 bear 根据这些 makefile 生成的 compile_commands.json 文件,分别记为 A.json 、B.json 、C.json ,我现在是把 A.json 放在 a 目录下,B.json 放在 b 目录下,C.json 放在 c 目录下;

但是这样的话,以 A 为例,在我印象里,vscode 的 clangd 无法跳转到位于 common 或者 frame 文件夹中的函数声明或者定义,只有声明以及定义在 a 文件夹中的函数可以直接跳转过去,我是 common 与 frame 文件夹中也放了一份 A.json ,这样才能跳转,但是印象里还是有不完善的地方。

求教一下万能的f友,有没有办法配置一下 clangd ,实现这些函数的正常跳转吗,尤其是跳转到 common 与 frame 中的函数。

这个文件夹分布是简化的,实际上进程不止 A B C 三个,共用的文件夹也不止两个。

举报· 104 次点击
登录 注册 站外分享
快来抢沙发
0 条回复  
返回顶部