怎么使用CMake構(gòu)建C++項(xiàng)目

小億
101
2024-04-22 14:33:51

CMake是一個(gè)開源的跨平臺(tái)的項(xiàng)目構(gòu)建工具,它可以用來(lái)自動(dòng)生成與平臺(tái)相關(guān)的構(gòu)建文件,比如Makefile或Visual Studio項(xiàng)目文件。以下是使用CMake構(gòu)建C++項(xiàng)目的一般步驟:

  1. 編寫CMakeLists.txt文件:在項(xiàng)目根目錄下創(chuàng)建一個(gè)CMakeLists.txt文件,這個(gè)文件用來(lái)描述項(xiàng)目的結(jié)構(gòu)和編譯選項(xiàng)。

  2. 設(shè)置項(xiàng)目名稱和最低版本要求:在CMakeLists.txt文件中使用project()函數(shù)來(lái)設(shè)置項(xiàng)目名稱和最低版本要求,比如:

cmake_minimum_required(VERSION 3.10)
project(MyProject)
  1. 添加可執(zhí)行文件或庫(kù):使用add_executable()函數(shù)添加可執(zhí)行文件,使用add_library()函數(shù)添加庫(kù),比如:
add_executable(MyExecutable main.cpp)
add_library(MyLibrary mylib.cpp)
  1. 添加源文件和依賴:使用add_source_directory()函數(shù)或直接列出源文件來(lái)添加源文件,使用target_link_libraries()函數(shù)鏈接依賴庫(kù),比如:
add_source_directory(src)
target_link_libraries(MyExecutable MyLibrary)
  1. 設(shè)置編譯選項(xiàng):可以使用set(CMAKE_CXX_FLAGS "-std=c++11")等命令來(lái)設(shè)置編譯選項(xiàng)。

  2. 生成構(gòu)建文件:在項(xiàng)目根目錄下創(chuàng)建一個(gè)build文件夾,進(jìn)入這個(gè)文件夾并運(yùn)行cmake ..命令來(lái)生成構(gòu)建文件。

  3. 編譯項(xiàng)目:運(yùn)行make(Linux/Mac)或cmake --build .(Windows)來(lái)編譯項(xiàng)目。

  4. 運(yùn)行項(xiàng)目:編譯完成后,在build文件夾中找到可執(zhí)行文件或庫(kù)文件,并運(yùn)行。

這樣就可以使用CMake來(lái)構(gòu)建C++項(xiàng)目了。更多詳細(xì)的用法和選項(xiàng)可以查閱CMake的官方文檔。

0