从此
文章
📄文章 #️⃣专题 🌐上网 📺 🛒 📱

CMake CMakeLists.txt构建C/C++入门

🕗2023-05-31

CMake 是一个跨平台的自动化构建工具,可以用于构建各种类型的项目,包括*C++、C、Python、Java*等。本文将从零开始,介绍如何使用 CMake 构建一个简单的 C/C++项目

 


安装 CMake

首先,需要下载并安装 CMake。可以从 CMake官网下载

 


创建项目文件夹

在本地创建一个项目文件夹,用于存放项目的源代码和构建文件。

 


创建源代码文件

在项目文件夹中创建一个源代码文件,例如hello.chello.cpp。在文件中编写一个简单的程序,例如输出“Hello, World!”。源码如下:

#include <iostream>

int main() {
    std::cout << "Hello, World!\n";
    return 0;
}

新建 CMakeLists.txt 文件

在项目文件夹中创建一个名为CMakeLists.txt的文件。该文件是 CMake 的构建配置文件,用于指定项目的源代码文件、编译选项和生成的可执行文件等信息。

 

以下是一个简单的CMakeLists.txt文件示例:

# 指定CMake版本
cmake_minimum_required(VERSION 3.10) 

# 指定项目名称 
project(hello)  

# 添加源代码文件
add_executable(hello hello.cpp)

上述代码中,cmake_minimum_required指定了 CMake 的最低版本要求,project指定了项目的名称。add_executable指定了生成的可执行文件名称和源代码文件的路径。

 


构建项目

在项目文件夹中打开终端,输入以下命令进行构建:

mkdir build  # 创建一个build文件夹
cd build  # 进入build文件夹
cmake ..  # 生成Makefile文件
make  # 编译源代码并生成可执行文件

执行完以上命令后,会在build文件夹中生成一个可执行文件hello

 


运行项目

在终端中输入以下命令运行生成的可执行文件:

 

 
./hello
 

此时,将输出Hello, World!信息。至此,一个简单的 C/C++项目就被成功构建了。

 


跨平台构建

CMake 支持在不同的操作系统和编译器下自动生成对应的构建文件。因此,只需要保证在不同平台上安装了相应的编译器和工具链,就可以实现跨平台构建。

 

下面是一个在WindowsLinux下都可以构建的CMakeLists.txt文件示例:

cmake_minimum_required(VERSION 3.10)

project(my_project)

if(WIN32)
    set(CMAKE_CXX_COMPILER "MSVC")
elseif(UNIX)
    set(CMAKE_CXX_COMPILER "g++")
endif()

set(CMAKE_CXX_STANDARD 11)

add_executable(hello hello.cpp)

在这个示例中,我们使用 if 语句来判断平台类型,并设置相应的编译器。通过这种方式,可以实现在不同平台下都可以编译和构建项目的目的。

 


总结

本文介绍了使用 CMake 构建一个简单的 C/C++项目的步骤。首先需要安装 CMake,并创建一个项目文件夹。然后创建源代码文件和CMakeLists.txt文件。最后,在终端中输入命令进行构建和运行。CMake 可以根据项目的规模和需求,灵活配置构建选项,方便快捷地完成自动化构建。