I[22:40:21.179] Ubuntu clangd version 20.1.2 (0ubuntu1~24.04.2)
I[22:40:21.179] Features: linux+grpc
I[22:40:21.179] PID: 135174
I[22:40:21.179] Working directory: /home/parallels/tuna
I[22:40:21.179] argv[0]: clangd
I[22:40:21.179] argv[1]: --check=src/core/config.cc
I[22:40:21.179] argv[2]: --log=verbose
V[22:40:21.179] User config file is /home/parallels/.config/clangd/config.yaml
I[22:40:21.180] Entering check mode (no LSP server)
I[22:40:21.180] Testing on source file /home/parallels/tuna/src/core/config.cc
V[22:40:21.180] config note at /home/parallels/tuna/.clangd:1:0: Parsing config fragment
V[22:40:21.180] config note at /home/parallels/tuna/.clangd:1:0: Parsed 1 fragments from file
V[22:40:21.180] Config fragment: compiling /home/parallels/tuna/.clangd:1 -> 0x0000AB95F991E020 (trusted=false)
V[22:40:21.180] Config fragment: compiling <unknown>:0 -> 0x0000AB95F991D420 (trusted=false)
I[22:40:21.180] Loading compilation database...
I[22:40:21.180] Failed to find compilation database for /home/parallels/tuna/src/core/config.cc
I[22:40:21.180] Generic fallback command is: [/home/parallels/tuna/src/core] /usr/lib/llvm-19/bin/clang++ --driver-mode=g++ -std=c++14 -Iinclude -Wall -Wpedantic -Wextra -resource-dir=/usr/lib/llvm-20/lib/clang/20 -- /home/parallels/tuna/src/core/config.cc
I[22:40:21.180] Parsing command...
在输出的信息中,唯有这一段最是关键。从中可以看出,clangd成功读取到了.clangd文件。但是此时clangd继续执行,去加载编译数据库,最后发现没有找到编译数据库(Failed to find compilation database),也就是说没有从编译数据库中找到这个config.cc文件的真实编译命令。编译数据库在C、C++工程里,最常见的文件名是compile_commands.json,这里面记录了每个源文件所在的目录和编译这个源文件所需要的编译命令。