Linux开发工具安装(scl/gcc/VSCode/Make/Cmake...)

        本文章记录在搭建C++开发环境时,所需要的开发工具的安装、升级、调试以及卸载等相关步骤。如有需要请结合本专栏有关C++开发环境搭建的文章进行阅读。

一 软件仓库设置

        开发工具的安装与管理,前提需要有一个稳定、可靠的repository(仓库、源)。所以需要先对软件站群进行设置。(详细的信息参考同专栏的文章Linux的软件包管理工具说明

1.1 CentOS7安装scl

(注意:SCL(Software Collections)是CentOS系统上的一种机制,允许用户访问一组额外的软件包,但在CentOS 8后已不再被官方支持。)

  • 检查是否安装scl:已经安装会显示centos-release-scl和centos-release-scl-rh信息,命令以及回显信息如下。
[root@192 /]# yum list installed | grep scl
centos-release-scl.noarch               2-3.el7.centos                 @extras  
centos-release-scl-rh.noarch            2-3.el7.centos                 @extras  
  • 安装scl:如果没有安装scl,用以下命令进行安装。 
[root@192 /]# sudo yum install centos-release-scl

或者 yum install -y centos-release-scl scl-utils-build
  • 查看scl源:在/etc/yum.repos.d/有scl的源文件,查看命令如下。如果需要使用阿里源查看文章最后的参考链接。
[root@192 /]# ls /etc/yum.repos.d/ | grep scl-           #查看所有scl源文件
CentOS-SCLo-scl-rh.repo
[root@192 /]# cat /etc/yum.repos.d/CentOS-SCLo-scl.repo  #查看所有scl源文件内容,看地址

  • 查看所有可安装软件:
[root@192 /]# yum list --enablerepo='centos-sclo-rh'

1.2 Ubuntu

       参考CentOS, 如有需要进行更新。

二 gcc与gdb安装

        在linux中,gcc全称“gnu compiler collection”,中文意思为“gnu编译器套件”,是由gnu开发的编程语言编译器,是一个能够编译多种语言的编译器。

        gcc套件包括c、c++、 objective-c、 fortran、java、ada和go语言前端,也包括了这些语言的库。以下操作在CentOS7系统环境下执行。

1.1 gcc版本选择

检查当前gcc信息:

[root@192 /]# gcc -v
或者
[root@192 /]# rpm -q gcc
  • 可安装版本查看:如果未安装,需要选择安装的版本,查看方法如下。
yum --disablerepo="*" --enablerepo="centos-sclo-rh" list available | grep gcc
  •  版本选择:不能选择太高版本,要考虑Linux内核版本和C++开发版本综合衡量,本机测试,版本选择的8,其他版本可以参考文章结尾的参考链接。

1.2 gcc安装

  • 安装gcc:安装gcc可以指定版本,如果不指定,则安装系统默认支持版本(默认版本过低则需要升级)。
<think>好的,我现在需要解决用户在编译CMake 3.23.0时遇到的bootstrap错误,具体是找不到支持C++11的C++编译器。根据用户提供的引用信息,我需要先理解问题的根源,然后结合引用中的资料给出解决方案。 首先,用户提到错误信息是“The C++ compiler does not support C++11 (e.g. std::unique_ptr)”。引用[1]指出这可能是因为编译器版本过低或者没有正确配置。另外,引用[3]提到安装CMake时出现找不到C++编译器的问题,这可能和系统环境变量或编译器安装有关。引用[4]中用户提供的步骤包括下载源码、解压、运行./bootstrap、gmake等,但可能在执行./bootstrap时遇到问题。 接下来,我需要分析可能的原因。首先,检查编译器是否安装。用户可能没有安装C++编译器,或者安装的版本不支持C++11。例如,g++版本需要至少4.8以上才能支持C++11。其次,检查编译器是否在系统路径中,即环境变量是否正确设置。如果CMake找不到编译器,可能是因为路径没有配置正确。此外,某些系统可能需要手动指定编译器路径,或者安装额外的开发工具包。 然后,根据引用[4]的步骤,用户可能是在执行./bootstrap时出现错误。此时,可能需要手动指定C和C++编译器的路径,例如使用--prefix参数或者设置环境变量CC和CXX。另外,用户可能需要升级现有的编译器到支持C++11的版本,比如安装g++-5或更高版本。 另外,引用[5]中提到使用VS2022、Qt5.15.2和CMake3.23.2编译VTK,说明在Windows环境下可能需要使用Visual Studio的编译器,这时候需要确保Visual Studio的C++组件已安装,并且正确配置了环境变量。 可能的解决方案步骤包括: 1. 确认编译器已安装且版本足够新。 2. 设置环境变量,确保CMake能找到编译器。 3. 在运行./bootstrap时指定编译器路径或选项。 4. 更新系统或安装必要的开发工具包。 需要验证这些步骤的正确性,例如,检查g++ --version或clang++ --version的输出,确认版本是否符合要求。如果用户使用的是Linux系统,可能需要通过包管理器安装更新的编译器。对于Windows用户,可能需要安装Visual Studio并选择C++工作负载。 同时,引用[3]中提到的错误“Cannot find appropriate C++ compiler”可能与未安装编译器或路径问题有关,这也支持上述的解决方案方向。 总结,解决方案应分步骤指导用户检查编译器安装、配置环境变量,并在必要时指定编译器路径或升级编译器。</think>### 解决CMake 3.23.0 Bootstrap过程中C++11编译器支持问题 #### 问题原因 CMake在编译时需要检测系统是否安装了支持C++11标准的C++编译器。若出现错误“The C++ compiler does not support C++11”,通常由以下原因导致: 1. **未安装C++编译器**(如g++、clang或MSVC)[^3]; 2. **编译器版本过低**(例如g++ < 4.8或clang < 3.3)[^1]; 3. **环境变量未正确配置**(如PATH中缺少编译器路径); 4. **系统缺少开发工具链**(如build-essential或Development Tools)[^4]。 --- #### 解决方案步骤 ##### 1. 确认编译器安装与版本 - **Linux/macOS** 执行以下命令检查编译器版本: ```bash g++ --version # 要求≥4.8 clang++ --version # 要求≥3.3 ``` 若未安装或版本过低: ```bash # Ubuntu/Debian sudo apt install g++-11 # 安装高版本编译器 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 100 # CentOS sudo yum install devtoolset-11-gcc-c++ scl enable devtoolset-11 bash # macOS(需Homebrew) brew install gcc@11 ``` - **Windows** 确保已安装Visual Studio 2015或更高版本,并在安装时勾选“C++桌面开发”组件[^5]。通过命令行调用`cl`编译器: ```cmd cl /? # 验证是否可识别 ``` ##### 2. 配置环境变量 - **Linux/macOS** 将编译器路径加入`PATH`: ```bash export CC=/usr/bin/gcc-11 export CXX=/usr/bin/g++-11 ``` - **Windows** 使用Visual Studio开发者命令提示符(默认已配置环境变量),或手动添加`VCVARSALL.BAT`路径到环境变量[^5]。 ##### 3. 执行Bootstrap时指定编译器 在CMake源码目录中运行以下命令,强制指定编译器路径: ```bash ./bootstrap --prefix=/usr/local \ --parallel=$(nproc) \ -- -DCMAKE_CXX_COMPILER=/usr/bin/g++-11 \ -DCMAKE_C_COMPILER=/usr/bin/gcc-11 ``` 若使用clang: ```bash ./bootstrap -- -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang ``` ##### 4. 安装必要依赖 - **Linux** 安装开发工具链: ```bash # Ubuntu/Debian sudo apt install build-essential libssl-dev # CentOS sudo yum groupinstall "Development Tools" ``` --- #### 验证编译结果 完成上述步骤后,重新执行: ```bash ./bootstrap && make && sudo make install ``` 若成功,运行`cmake --version`应显示CMake 3.23.0。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值