CentOS 6.10 上安装 GCC 7+
好的!下面是完整步骤,帮你在 CentOS 6.10 上安装 GCC 7+ 并生成适用于 clangd
的 compile_commands.json
。
✅ 第一步:在 CentOS 6.10 编译安装 GCC 7.5
1. 安装依赖
sudo yum groupinstall "Development Tools"
sudo yum install gcc gcc-c++ gmp-devel mpfr-devel libmpc-devel
2. 下载 GCC 7.5 源码
cd /usr/local/src
sudo wget https://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.gz
sudo tar -xzf gcc-7.5.0.tar.gz
cd gcc-7.5.0
sudo ./contrib/download_prerequisites
3. 编译 GCC 7.5(耗时较长)
sudo mkdir build && cd build
sudo ../configure --disable-multilib --enable-languages=c,c++ --prefix=/opt/gcc-7.5
sudo make -j$(nproc)
sudo make install
4. 配置环境变量
临时(当前 shell 有效):
export PATH=/opt/gcc-7.5/bin:$PATH
export LD_LIBRARY_PATH=/opt/gcc-7.5/lib64:$LD_LIBRARY_PATH
永久(添加到 .bashrc
):
echo 'export PATH=/opt/gcc-7.5/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/opt/gcc-7.5/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
5. 检查版本
g++ --version
应该显示:
g++ (GCC) 7.5.0
✅ 第二步:使用 bear
生成 compile_commands.json
bear
是 clangd 能识别的标准编译数据库生成工具。
1. 下载并编译 bear(不依赖 CMake)
sudo yum install cmake3 python3-devel
cd /usr/local/src
sudo git clone https://github.com/rizsotto/Bear.git
cd Bear
sudo cmake3 -DCMAKE_INSTALL_PREFIX=/opt/bear .
sudo make -j$(nproc)
sudo make install
2. 添加 bear 到 PATH
export PATH=/opt/bear/bin:$PATH
echo 'export PATH=/opt/bear/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
3. 在你的项目目录运行:
bear -- make clean
bear -- make CXX=/opt/gcc-7.5/bin/g++ CXXFLAGS="-std=c++11"
它会生成
compile_commands.json
,供clangd
使用。
✅ 第三步(可选):将代码同步到 Ubuntu 使用 LSP
如果你想在 Ubuntu 上使用 clangd
浏览这些代码:
- 把整个项目文件夹 +
compile_commands.json
拷贝到 Ubuntu - 用 Neovim + LSP 打开即可
如果你告诉我你的项目大概怎么构建的(Makefile 还是 shell 脚本?有无 subdir?),我可以给出更具体的 bear
命令或者 CMake 替代方案。是否需要?
你可以在 CentOS 6.10 上安装 CMake 3.12(或更高版本)的方法如下。由于 CentOS 6.10 自带的是 CMake 2.8.12.2,因此我们选择 源码编译安装,不依赖系统的老旧版本。
✅ 安装 CMake 3.12(或更新版本)步骤
🔹 1. 安装依赖
sudo yum groupinstall "Development Tools"
sudo yum install wget gcc gcc-c++ make openssl-devel
🔹 2. 下载并解压 CMake 源码
你可以选择 CMake 3.12.4 或更高版本。这里以 3.12.4 为例:
cd /tmp
wget https://github.com/Kitware/CMake/releases/download/v3.12.4/cmake-3.12.4.tar.gz
tar -xzf cmake-3.12.4.tar.gz
cd cmake-3.12.4
🔹 3. 编译并安装
./bootstrap --prefix=/opt/cmake-3.12
make -j$(nproc)
sudo make install
安装路径设为
/opt/cmake-3.12
,不会覆盖系统自带的旧版本。
🔹 4. 添加到环境变量中
临时使用(当前 shell):
export PATH=/opt/cmake-3.12/bin:$PATH
永久添加(自动加载):
echo 'export PATH=/opt/cmake-3.12/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
🔹 5. 验证版本
cmake --version
输出应类似于:
cmake version 3.12.4
✅ 可选:使用软链接替代系统 cmake(不推荐)
如果你一定要替换旧版 cmake:
sudo mv /usr/bin/cmake /usr/bin/cmake.bak
sudo ln -s /opt/cmake-3.12/bin/cmake /usr/bin/cmake
⚠️ 警告:可能影响系统原有依赖 CMake 的软件,建议仅在隔离环境中使用。
需要我继续帮你配置 生成 compile_commands.json
、或安装 bear
和 LSP 配套工具吗?