Yulong Niu

个人博客

Spacemacs配置C/C++语言编程环境

Posted at — Jan 11, 2022

一份极简的Spacemacs的C/C++语言编程环境配置。

1. 前奏

  1. 安装clangdBear

  2. 在项目目录下使用Bear,之后在目录下会生成compile_commands.json文件。LSP会自动搜索和使用该文件。

$ bear -- make
  1. 另一种生成compile_commands.json文件的方法是使用compiledb,使用pip install compiledb安装。
$ compiledb make

2. 配置

  1. 配置Spacemacs~/.spacemacs文件。基本思路是添加lsp layerc-c++ layer

例如:

dotspacemacs-configuration-layers
'((lsp :variables
       lsp-lens-enable t
       lsp-use-lsp-ui t)
  (c-c++ :variables
         c-c++-backend 'lsp-clangd
         c-c++-lsp-enable-semantic-highlight 'rainbow
         c-c++-enable-clang-format-on-save t
         c-c++-adopt-subprojects t)
  )

3. conda配置gcc环境

3.1 设定conda环境

$ conda config --add channels conda-forge
$ conda config --set channel_priority strict

$ conda create -n make_env cxx-compiler boost armadillo -c conda-forge

3.3 设定CPLUS_INCLUDE_PATH

## 查看conda
$ conda env config vars list

## 添加include path
$ conda env config vars set CPLUS_INCLUDE_PATH=${CONDA_PREFIX}/include:${CPLUS_INCLUDE_PATH}
## 恢复conda环境
$ conda env config vars set CPLUS_INCLUDE_PATH

参考资料

更新记录

2022年02月10日