欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用CMake構(gòu)建一個簡單的C++項目的實現(xiàn)

 更新時間:2023年10月23日 08:47:30   作者:AoDeLuo  
CMake是一個跨平臺的自動化構(gòu)建工具,可以用于構(gòu)建各種類型的項目,本文主要介紹了使用CMake構(gòu)建一個簡單的C++項目,具有一定的參考價值,感興趣的可以了解一下

一. 構(gòu)建一個簡單的項目

最基本的CMake項目是從單個源代碼文件構(gòu)建的可執(zhí)行文件。對于像這樣的簡單項目,只需要一個包含三個命令的CMakeLists.txt文件。注意:雖然CMake支持大寫、小寫和混合大小寫命令,但小寫命令是首選命令,并將在整個教程中使用。

任何項目的頂級CMakeLists.txt都必須通過使用CMake_minimum_required()命令指定最低CMake版本來啟動。這將建立策略設(shè)置,并確保以下CMake函數(shù)使用兼容版本的CMake運行。為了啟動一個項目,我們使用project()命令來設(shè)置項目名稱。每個項目都需要此調(diào)用,并且應(yīng)在cmake_minimum_required()之后立即調(diào)用。正如我們稍后將看到的,此命令還可以用于指定其他項目級別的信息,如語言或版本號。最后,add_executable()命令告訴CMake使用指定的源代碼創(chuàng)建一個可執(zhí)行文件

二. 構(gòu)建過程

1. 創(chuàng)建程序源文件

源文件包含兩個:

  • tutorial.cxx
  • TutorialConfig.h.in
// TutorialConfig.h.in文件內(nèi)容
// 定義了兩個變量,可以在cmake構(gòu)建項目時進行相應(yīng)的替換
#define Tutorial_VERSION_MAJOR @Tutorial_VERSION_MAJOR@
#define Tutorial_VERSION_MINOR @Tutorial_VERSION_MINOR@
// tutorial.cxx文件內(nèi)容
// 計算輸入?yún)?shù)的平方根
#include <cmath>
#include <iostream>
#include <string>
#include "TutorialConfig.h"

int main(int argc, char* argv[])
{
  if (argc < 2) {
    // 打印版本信息
	std::cout << argv[0] << " Version " << Tutorial_VERSION_MAJOR << "."
		      << Tutorial_VERSION_MINOR << std::endl;
    std::cout << "Usage: " << argv[0] << " number" << std::endl;
    return 1;
  }

  // 轉(zhuǎn)換輸入?yún)?shù)為double類型
  const double inputValue = std::stod(argv[1]);

  // 計算平方根
  const double outputValue = sqrt(inputValue);
  std::cout << "The square root of " << inputValue << " is " << outputValue
            << std::endl;
  return 0;
}

2. 編寫CMakeList.txt文件

# 設(shè)置CMake最低版本為3.10
cmake_minimum_required(VERSION 3.10)

# 設(shè)置項目的版本為1.0
project(Tutorial VERSION 1.0)

# 設(shè)置變量CMAKE_CXX_STANDARD為11
# 設(shè)置變量CMAKE_CXX_STANDARD_REQUIRED為True
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)

# 通過使用configure_file將TutorialConfig.h.in中的內(nèi)容拷貝到TutorialConfig.h中,并將其中需要替換的部分進行替換
configure_file(TutorialConfig.h.in TutorialConfig.h)

# 創(chuàng)建一個可執(zhí)行文件,名為Tutorial.exe
add_executable(Tutorial tutorial.cxx)

# 使用target_include_directories指明程序的頭文件所在目錄
target_include_directories(Tutorial PUBLIC "${PROJECT_BINARY_DIR}")

3. 構(gòu)建項目并編譯源代碼

未構(gòu)建項目的情況下,源文件夾目錄中僅有三個文件,如下:

在程序原文件夾中創(chuàng)建一個文件夾,用于保存構(gòu)建的項目

mkdir Step1_build

進入創(chuàng)建好的文件夾中,使用cmake構(gòu)建項目

cd Step1_buildcmake ..

使用cmake生成項目,生成可執(zhí)行文件

cmake --build .

進入構(gòu)建文件夾(Step1_build),執(zhí)行可執(zhí)行程序Tutorial.exe

cd DebugTutorial 10

附件

源代碼下載

到此這篇關(guān)于使用CMake構(gòu)建一個簡單的C++項目的實現(xiàn)的文章就介紹到這了,更多相關(guān)CMake構(gòu)建C++項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論