Skip to content

Latest commit

 

History

History
58 lines (41 loc) · 1.63 KB

ccls-simple-usage.org

File metadata and controls

58 lines (41 loc) · 1.63 KB

ccls 使用

Build

# dependencies: cmake, clang, gcc, make, clang+llvm headers and libraries
sudo apt-get install cmake make gcc clang libclang-dev llvm-dev rapidjson-dev
git clone --depth=1 --recursive https://github.com/MaskRay/ccls
cd ccls
mkdir build && cd build
cmake ../  -BRelease -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON
cmake --build Release -j 32
sudo cp Release/ccls /usr/local/bin/

Usage

ccls 在使用时需要在项目的根目录中指定以下文件:

  • compile_commands.json

这个文件通常是自动生成,根据不同的编译系统命令不同,分别如下:

  • camke
cmake -H. -BDebug -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=YES
ln -s Debug/compile_commands.json .
  • Makefile

首先安装 bear 工具,用这个工具生成,命令如下:

bear make
  • ninja
# Format: ninja -t compdb rule_names... > compile_commands.json
ninja -C out/Release -t compdb cxx cc > compile_commands.json
  • .ccls

    .ccls 中使用 -I, -D 等指定头文件目录和宏定义,中间不能包含空格。示例如下:

    %compile_commands.json
    %c -std=c11
    %cpp -std=c++14
    %c %cpp -pthread
        

更多使用方法参见: Project Setup ,另外也整理了一下简单的用法,见 ccls 简单使用