请问如何.clangd
文件中包含一个windows的绝对路径?因为:
为YAML的指示符,-ID:/xxx/xxx
这种CompileFlags会导致无法解析
我都用cmake跟clangd配合,从来没编写过.clangd文件。CMakeLists.txt里添加:
if(NOT MSVC_IDE)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_custom_target(
clangd ALL
${CMAKE_COMMAND} -E copy_if_different
${CMAKE_BINARY_DIR}/compile_commands.json
${CMAKE_SOURCE_DIR}
)
add_dependencies(你的工程名 clangd)
endif()
用ninja或者nmake就会输出compile_commands.json文件到你的源码目录,clangd就会正常识别了,只要保证cmake能正常编译,clangd就能正常运行。
我的工作流比较特殊,受公司策略影响。主要是我再Windows下编码,目标平台是交叉编译的设备,编译链在linux服务器上,所以windows下没有相关的头文件和环境,公司策略也不让装msvc。我现在是把编译链里面的系统头文件复制到windows上了,但是不知道怎么能给include一下
编译不过也没问题,clangd容错也还是可以的。。