CMake入門教程:從零開始構(gòu)建C/C++項目

CMake是一個跨平臺的自動化構(gòu)建工具,可以用于構(gòu)建各種類型的項目,包括*
C++、C、Python、Java
*等。本文將從零開始,介紹如何使用CMake構(gòu)建一個簡單的C/C++項目
安裝CMake
首先,需要下載并安裝CMake??梢詮腃Make官網(wǎng)下載。如果404 Not Found,可以試一下這個國內(nèi)鏡像網(wǎng)址下載地址。
創(chuàng)建項目文件夾
在本地創(chuàng)建一個項目文件夾,用于存放項目的源代碼和構(gòu)建文件。
創(chuàng)建源代碼文件
在項目文件夾中創(chuàng)建一個源代碼文件,例如hello.c
或hello.cpp
。在文件中編寫一個簡單的程序,例如輸出“Hello, World!
”。源碼如下:
#include <iostream>
int main() {
? ?std::cout << "Hello, World!\n";
? ?return 0;
}
新建CMakeLists.txt文件
在項目文件夾中創(chuàng)建一個名為CMakeLists.txt
的文件。該文件是CMake的構(gòu)建配置文件,用于指定項目的源代碼文件、編譯選項和生成的可執(zhí)行文件等信息。
以下是一個簡單的CMakeLists.txt
文件示例:
# 指定CMake版本
cmake_minimum_required(VERSION 3.10)
# 指定項目名稱
project(hello) ?
# 添加源代碼文件
add_executable(hello hello.cpp)
上述代碼中,cmake_minimum_required
指定了CMake的最低版本要求,project
指定了項目的名稱。add_executable
指定了生成的可執(zhí)行文件名稱和源代碼文件的路徑。
構(gòu)建項目
在項目文件夾中打開終端,輸入以下命令進行構(gòu)建:
mkdir build ?# 創(chuàng)建一個build文件夾
cd build ?# 進入build文件夾
cmake .. ?# 生成Makefile文件
make ?# 編譯源代碼并生成可執(zhí)行文件
執(zhí)行完以上命令后,會在build
文件夾中生成一個可執(zhí)行文件hello
。
運行項目
在終端中輸入以下命令運行生成的可執(zhí)行文件:
./hello
此時,將輸出Hello, World!
信息。至此,一個簡單的C/C++項目就被成功構(gòu)建了。
跨平臺構(gòu)建
CMake支持在不同的操作系統(tǒng)和編譯器下自動生成對應的構(gòu)建文件。因此,只需要保證在不同平臺上安裝了相應的編譯器和工具鏈,就可以實現(xiàn)跨平臺構(gòu)建。
下面是一個在Windows
和Linux
下都可以構(gòu)建的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語句來判斷平臺類型,并設置相應的編譯器。通過這種方式,可以實現(xiàn)在不同平臺下都可以編譯和構(gòu)建項目的目的。
總結(jié)
本文介紹了使用CMake構(gòu)建一個簡單的C/C++項目的步驟。首先需要安裝CMake,并創(chuàng)建一個項目文件夾。然后創(chuàng)建源代碼文件和CMakeLists.txt
文件。最后,在終端中輸入命令進行構(gòu)建和運行。CMake可以根據(jù)項目的規(guī)模和需求,靈活配置構(gòu)建選項,方便快捷地完成自動化構(gòu)建。