一、前言
CMake是一个强大的跨平台自动化构建系统,它使用简洁的配置文件来指导编译过程,广泛应用于软件开发中以管理复杂的构建任务和跨平台编译。通过使用CMake,开发者可以轻松定义编译选项、包含库文件和生成可执行文件等任务,从而提高软件开发的效率和可维护性。
在Ubuntu上安装CMake,可以充分利用其包管理系统的便捷性,同时享受Linux系统在文件管理、权限控制和网络操作等方面的优势。无论是对于个人项目还是团队协作,Ubuntu平台上的CMake都能提供一致且高效的开发体验。
写本文的主要目的主要是想强调在编译时有些必要的依赖要安装,否则容易报错。
二、编译安装
在某些情况下,从源代码安装CMake是必要的。例如,如果需要使用CMake的最新版本或特定构建选项,通过源代码安装可以确保获取最新的功能和修复。此外,某些系统可能没有预编译的包可用,或者预编译的版本不满足特定的依赖或兼容性要求。
步骤包括:
- 下载源代码
访问CMake的官方网站或GitHub页面下载最新的源代码压缩包。通过chatgpt我们了解了3.24是比较稳定的版本之一,所以我们以3.24为例。
使用wget命令下载:wget https://github.com/Kitware/CMake/releases/download/v3.24.4/cmake-3.24.4.tar.gz
- 解压源代码
使用tar命令解压下载的文件:tar -zxvf cmake-3.24.4.tar.gz
- 安装依赖
CMake编译可能需要额外的依赖,如编译器和开发工具。
安装必要的依赖:
# 软件编译的基本工具集
sudo apt install build-essential libssl-dev
# OpenSSL
sudo apt-get install libssl-dev
# OpenGL
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
运行以上命令之后,基本能解决配置时的报错问题。
- 编译及安装
- 进入到解压后的CMake目录中:
cd cmake-3.24.4
- 创建build文件夹并进行:
mkdir build && cd build
- 运行配置脚本和编译:
../bootstrap
- 编译:
make
- 安装到系统中:
sudo make install
- 可能遇到的问题
在尝试使用 bootstrap 方法编译安装 CMake 时,系统无法找到一个支持 C++11 和指定 C++ 标志的 C++ 编译器。这通常是因为编译器版本过旧或环境变量设置不正确导致的。可以通过设置环境变量 CXX 和 CXXFLAGS来解决。
export CXX=/usr/bin/g++
export CXXFLAGS="-std=c++11" # 确保使用 C++11 标准
再重新运行./bootstrap
就好。