前言
在使用 RTags 预处理 C/C++这篇文章中提到了 rtags 的使用,于是我在 Linux 中使用的时候碰到了安装的问题并顺利解决了。
然后又在 Mac 上进行了尝试,也碰到了问题,记录一下,希望能帮助需要的人。
Mac
使用 homebrew
使用 homebrew 安装非常简单,但是它会依赖 emacs ,所以会安装一下 emacs ,而我通常会安装别的版本,所以就不想要,这下就只能通过源码编译了。
源码安装
直接使用CMAKE编译会报如下错误
1
|
C++11 support not detected. rct requires a modern compiler, GCC >= 4.8 or Clang >= 3.2
|
正确安装方法
1
2
3
4
5
6
7
|
brew install llvm
export PATH=/usr/local/opt/llvm/bin:$PATH
git clone --recursive https://github.com/Andersbakken/rtags.git
cd rtags
mkdir build && cd build
CC=clang CXX=clang++ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=on ..
make
|
编译完了就会在 build 目录下的 bin 目录中有 rc 、 rdm 、 rp ,你可以把它加入到环境变量中,也可以使用 make install 进行安装。
Linux(Manjaro)
在 Manjaro 中没有直接安装的包,所以也要通过源码进行编译
直接使用CMAKE编译会报如下错误
1
|
error: no member named 'numeric_limits' in namespace 'std'
|
正确安装方法
1
2
3
4
5
6
7
|
git clone --recursive https://github.com/Andersbakken/rtags.git
cd rtags
mkdir build && cd build
export GCC_VERSION=11.1.0 # 需要根据你的版本修改,可以使用 g++ --version 查看
export CXXFLAGS="-include /usr/include/c++/${GCC_VERSION}/limits"
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=on ..
make
|
编译完了同样会在 build 目录下的 bin 目录中有 rc 、 rdm 、 rp ,你可以把它加入到环境变量中,也可以使用 make install 进行安装。
参考