基于 clangd 的函数定义查找,不能找第三方库代码的实现吗? 用的 vtk

4 月 27 日
 lyvv
vscode 自带的 intelliSense 感觉有时找到的函数定义不对

试了下 clangd ,发现找不到第三方库代码的实现吗? 用的 vtk

改成 cl.exe 或 clang-cl.exe 都找不到第二层函数实现,只能找到我的函数调用的第一层


vscode 设置
"cmake.generator": "Ninja",

"cmake.configureSettings": {
"CMAKE_C_COMPILER": "clang-cl",
"CMAKE_CXX_COMPILER": "clang-cl",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
},

"clangd.arguments": [
"--compile-commands-dir=build",
"--query-driver=**/cl.exe",
"--background-index",
"--all-scopes-completion"
]


.clangd 设置
CompileFlags:
Remove: [
"-Zc:__cplusplus",
"-permissive-",
"/Zc:__cplusplus",
"/permissive-"
]


cmakelists 设置
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_NO_SYSTEM_FROM_IMPORTED ON)
1130 次点击
所在节点    程序员
1 条回复
nightwitch
4 月 27 日
compile_command.json 里如果出现了第三方库相关的源文件就可以,如果没有一般就索引不到

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1208859

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX