Mac 下 C++ 工具:
参考资料:
自带的 apple clang 由 Xcode 提供,还安装在 /usr/bin/clang
使用 brew 安装最新的 llvm 工具链,brew install llvm
,使用安装的 clang/clang++/lldb
可以选择使用 compile_flags.txt
配置文件,或者使用 .clangd
配置文件。当前推荐使用 .clangd 配置文件的方式。
如果使用 compiler_flags.txt,先使用clang -E -xc++ - -Wp,-v < /dev/null查询搜索目录,使用结果创建改配置文件:
--driver-mode=g++
-xc++
-std=c++17
-isystem
/usr/local/opt/llvm/include/c++/v1
-isystem
/usr/local/opt/llvm/lib/clang/17/include
-isystem
/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/usr/include
-isystem
/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk/System/Library/Frameworks
-isysroot
/Library/Developer/CommandLineTools/SDKs/MacOSX12.sdk
推荐:
如果使用 .clangd,大部分情况下是正常解析的,其最小配置例如:
CompileFlags: # Tweak the parse settings
Add: [-std=c++17]
Compiler: clang++
CompilationDatabase: .
编译好后,配置好clangd的 query-driver=clang++
,结合cmake 生成的 compile_commands.json
可以很好解析整个项目工程。(query-driver指定的路径只是白名单,需要结合编译数据库使用)