Uni-App项目集成mp-html全攻略:从插件市场导入到npm引入的三种姿势
2026/4/25 22:07:10
今天在 chat-server-cpp 项目里遇到一个常见问题:CMake 能正常编译,但编辑器里一堆头文件红线,导致跳转、补全和诊断全是假的错误。本文记录问题原因与解决过程。
CMake 编译时会给每个源文件传入大量参数:
而编辑器默认不知道这些参数,只能按系统默认路径解析,于是报错。
解决核心:让编辑器使用真实编译参数。
让 CMake 生成 compile_commands.json,并让 Cursor/clangd 读取它。
cmake -S 你的项目路径 \
-B 你的项目构建路径 \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
生成位置:
项目构建路径/compile_commands.json
ln -sf 项目构建路径/compile_commands.json \
你想放入的路径
如果还是没生效,可以在 clangd 参数里显式指定:
--compile-commands-dir=/home/qzr/gitee/chat-server-cpp/server/build
compile_commands.json 本质是 每个源文件的完整编译命令清单。
clangd 读取后,就能“像真实编译器一样”解析项目,因此红线消失、跳转补全恢复。