一、基础环境准备
在CentOS上配置C++项目前,需先更新系统并安装核心开发工具链,确保编译、调试等基础功能可用。
sudo yum update同步系统软件包,避免兼容性问题。sudo yum groupinstall "Development Tools"安装GCC、G++、make、vim等基础工具,覆盖大多数C++开发需求。gcc --version和g++ --version,确认编译器版本(如GCC 4.8.5+),若版本过低需升级(见四、可选:升级GCC版本)。二、安装CMake(可选但推荐)
CMake是跨平台构建工具,能简化C++项目的编译流程(尤其是复杂项目)。若项目使用CMakeLists.txt管理构建,需安装CMake:
sudo yum install cmake(默认安装较旧版本,适合基础项目)。wget https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2-linux-x86_64.sh);sh cmake-3.23.2-linux-x86_64.sh,按提示安装;echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc,执行source ~/.bashrc生效。三、创建C++项目结构
合理的目录结构能提升项目可维护性,常见结构如下:
my_project/
├── CMakeLists.txt # CMake构建配置文件(核心)
├── src/ # 源代码目录
│ ├── main.cpp # 主程序入口
│ └── utils.cpp # 工具函数
└── include/ # 头文件目录
└── utils.h # 工具函数声明
四、编写CMakeLists.txt
CMakeLists.txt是CMake的配置核心,需根据项目需求编写。以下是基础示例:
# 指定CMake最低版本(需匹配安装版本)
cmake_minimum_required(VERSION 3.10)
# 定义项目名称及语言标准(如C++11/14/17)
project(MyProject LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 添加头文件搜索路径(若头文件在include目录下)
include_directories(include)
# 添加可执行文件(关联src目录下的源文件)
add_executable(MyProject src/main.cpp src/utils.cpp)
若项目依赖第三方库(如Boost),需添加find_package(Boost REQUIRED)和target_link_libraries(MyProject Boost::boost)。
五、编译与运行项目
build目录(隔离构建文件),进入后运行cmake ..(..表示上级目录的CMakeLists.txt),生成Makefile。make(或make -j4启用4线程加速编译),生成可执行文件(默认在build目录下,名称与add_executable一致)。./MyProject(build目录下),查看输出结果(如Hello, CentOS C++!)。六、配置开发工具(可选但实用)
sudo yum install gdb。sudo yum install git。七、解决依赖问题
若项目依赖第三方库(如Boost、OpenSSL),需提前安装对应开发包:
sudo yum install boost boost-devel openssl openssl-devel(-devel后缀表示开发包,包含头文件和库文件)。ldd ./MyProject检查可执行文件的动态库依赖,若出现“not found”错误,需安装对应库。八、可选:升级GCC版本
若项目需要较新GCC版本(如GCC 7+),可使用Devtoolset(Software Collections):
sudo yum install centos-release-scl。sudo yum install devtoolset-7-gcc devtoolset-7-gcc-c++。scl enable devtoolset-7 bash(临时生效),或添加到~/.bashrc永久生效(echo 'source /opt/rh/devtoolset-7/enable' >> ~/.bashrc)。g++ --version,确认升级成功。