需要scl来指定编译器的clangd+cmake在vscode/cursor开发环境下的配置
最近cursor更新了插件商店,只能使用默认它魔改的c/c++插件(基于clangd的),手头刚好在折腾一个cmake工程,试试水尝试直接配置在cursor上可以编译运行。
主要是本地环境使用scl来管理gcc/g++,所以在配置过程中需要特殊的处理,settings.json如下:
{"cmake.cmakePath": "/usr/bin/cmake3","cmake.buildDirectory": "${workspaceFolder}/build","cmake.configureArgs": ["-DCMAKE_EXPORT_COMPILE_COMMANDS=ON","-DCMAKE_C_COMPILER=/opt/rh/devtoolset-11/root/usr/bin/gcc","-DCMAKE_CXX_COMPILER=/opt/rh/devtoolset-11/root/usr/bin/g++"],"cmake.buildEnvironment": {"PATH": "/opt/rh/rh-python38/root/usr/local/bin:/opt/rh/rh-python38/root/usr/bin:/opt/rh/devtoolset-11/root/usr/bin:${env:PATH}","LD_LIBRARY_PATH": "/opt/rh/rh-python38/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib:/opt/rh/devtoolset-11/root/usr/lib64/dyninst:/opt/rh/devtoolset-11/root/usr/lib/dyninst","PKG_CONFIG_PATH": "/opt/rh/rh-python38/root/usr/lib64/pkgconfig:/opt/rh/devtoolset-11/root/usr/lib64/pkgconfig"}
}
原来编译方式是:
scl enable devtoolset-11 rh-python38 bash
mkdir -p build && cd build
cmake3 .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
配置之后只要点击下方的build按钮就可以正常编译: