在开发c++时,我安装了cquery和eglot。发现在工程目录下有个隐藏文件夹.cquery_cached_index,应该是cquery的缓存。现在的问题是,在调用make时,会连接缓存文件夹的目标文件(.o),导致连接失败。如果把缓存文件夹(.cquery_cached_index)删掉,连接就没有问题了。
各位大神,请问怎么修改cquery默认的缓存目录?让它不要出现在工程目录下。 谢谢!
在开发c++时,我安装了cquery和eglot。发现在工程目录下有个隐藏文件夹.cquery_cached_index,应该是cquery的缓存。现在的问题是,在调用make时,会连接缓存文件夹的目标文件(.o),导致连接失败。如果把缓存文件夹(.cquery_cached_index)删掉,连接就没有问题了。
各位大神,请问怎么修改cquery默认的缓存目录?让它不要出现在工程目录下。 谢谢!
试过了, cquery-cache-dir不起作用。
他們用了 Add caching directory flexibility · cquery-project/[email protected] · GitHub
這個cquery-cache-dir-consolidated
我不是特別喜歡,另外也不喜歡他們用build/compile_commands.json
來定位LSP的rootUri
。但這個功能是有用的,比如把/tmp/c
引導到~/.cache/cquery/@[email protected]
,但我的elisp水平還不足以寫一個好用的ccls cache function…
我現在有個小小的心願是看到eglot同時寫上ccls和clangd clangd support · Issue #75 · joaotavora/eglot · GitHub
另外,我相當懷疑你鏈接時用了.cquery_cached_index/**/*.o
之類。你的構建檔案需要修復。
在emacs配置文件中添加(setq cquery-cache-dir-consolidated-path “/tmp/cquery_cache”)还是无效。
发现缓存目录还是在当前工程目录下,指定的目录/tmp/cquery_cache也没有被创建。
如果有签 FSF 的 copyright Assignments 的话,或许可以自己发一个 pr?
修改了makefile和.gitignore, 算是把这个问题绕过去了:(
可能跟你cache目录放置的地方有关,我把cached目录放在家目录下是可以的,或许是没有权限在/tmp/下创建文件夹,放在家目录下是ok
但是我尝试过,我使用emacs时登录的普通用户是可以在/tmp下创建文件夹的.