当前位置:网站首页 > 云服务教程 > 正文

Ubuntu源码安装cmake(ubuntu安装cmake教程)



 
 
   
   

本教程将引导您逐步创建和开发一个简单的CMake项目。我们将学习CMake作为构建系统的基础知识,以及用于CMake项目的CLion设置和操作
注: 本教程使用的示例项目源代码可在GitHub上找到。
CMake是一个元构建系统,它使用名为CMakeLists的脚本来为特定环境(例如,在Unix机器上生成makefiles)生成构建文件。当您在CLion中创建新的CMake项目时,会在项目根目录下自动生成一个CMakeLists.txt文件。
 
  
    
    
👇点击领取👇
👉C语言知识资料合集

让我们在CLion中创建一个新的CMake项目。
  1. 从主菜单中选择“File | New Project”。
  2. 在左侧窗格中选择“C++ Executable”。在本示例中,项目名称为cmake_testapp,选择的语言标准为C++17。
  3. 我们会得到一个默认项目,包含一个名为main.cpp的源文件和自动生成的根CMakeLists.txt文件,其中包含以下命令:
    命令 描述
    cmake_minimum_required(VERSION 3.24) 指定CMake的最低要求版本,就像在默认的工具链中设置的一样。在大多数情况下,如果CMake可执行文件没有被有意更改,这将是捆绑的CMake版本。
    project(cmake_testapp) 根据我们在项目创建过程中提供的内容定义项目名称。
    set(CMAKE_CXX_STANDARD 17) 设置变量CMAKE_CXX_STANDARD的值为17,就像我们在创建项目时选择的一样。
    add_executable(cmake_testapp main.cpp) 添加cmake_testapp可执行目标,将从main.cpp构建。我们将在下面进一步介绍目标。
  4. 在CMake工具窗口中,您可以检查项目加载的进度和状态。要访问它,调用View | Tool Windows | CMake,或在工具窗口栏中切换到它:
    注: 如果加载失败,CMake工具窗口将自动打开。
目标是使用CMake脚本构建的可执行文件或库。您可以在单个脚本中定义多个构建目标。目前,我们的测试项目只有一个构建目标,即cmake_testapp。在第一次加载项目时,CLion会自动添加一个与此目标相关联的运行/调试配置:单击“Edit Configurations”以查看详细信息。目标名称和可执行文件名称与CMakeLists.txt中指定的相同:CLion会根据项目的CMake目标自动配置运行/调试设置。这是一个方便的功能,因为它确保运行和调试配置与实际的构建目标匹配。
在某些情况下,您可能需要将新源文件添加到现有CMake目标中。让我们尝试在cmake_testapp目标中添加一个新的源文件。
  1. 在项目根目录中,创建一个名为utils.cpp的新源文件。将以下内容添加到utils.cpp中:
    #include <iostream>
    void printMessage() { std::cout << "Hello from utils!" << std::endl;}
  2. 在CMakeLists.txt文件中,找到与cmake_testapp目标关联的add_executable命令。我们将在此命令中添加utils.cpp源文件。
    add_executable(cmake_testapp main.cpp utils.cpp)
  3. 您的CMakeLists.txt文件现在应如下所示:
    cmake_minimum_required(VERSION 3.24)project(cmake_testapp)set(CMAKE_CXX_STANDARD 17)add_executable(cmake_testapp main.cpp utils.cpp)
  4. 在CMake工具窗口中,单击“Reload Changes”以重新加载项目配置。
您现在已成功将新的utils.cpp文件添加到了cmake_testapp目标中。
在CMake中,您可以定义多个目标,每个目标对应于一个可执行文件或库。让我们尝试添加一个新的库目标。假设我们希望创建一个名为mylib的静态库,它由两个源文件lib.cpp和lib.h组成。
  1. 在项目根目录中,创建一个名为lib.cpp的新源文件。将以下内容添加到lib.cpp中:
    #include "lib.h"
    int add(int a, int b) { return a + b;}
  2. 在项目根目录中,创建一个名为lib.h的新头文件。将以下内容添加到lib.h中:
    #ifndef MYLIB_H#define MYLIB_H
    int add(int a, int b);
    #endif // MYLIB_H
  3. 修改CMakeLists.txt以添加新的库目标。在project()命令下方,添加以下内容:
    add_library(mylib STATIC lib.cpp)target_include_directories(mylib PUBLIC .)
    通过add_library命令,我们定义了一个名为mylib的静态库目标,并将lib.cpp添加为其源文件。通过target_include_directories命令,我们指定了包含目录,以便在项目中的其他位置访问lib.h头文件。
  4. 您的CMakeLists.txt文件现在应如下所示:
    cmake_minimum_required(VERSION 3.24)project(cmake_testapp)set(CMAKE_CXX_STANDARD 17)
    add_executable(cmake_testapp main.cpp utils.cpp)
    add_library(mylib STATIC lib.cpp)target_include_directories(mylib PUBLIC .)
  5. 在CMake工具窗口中,单击“Reload Changes”以重新加载项目配置。
现在,您已成功添加一个名为mylib的新库目标。
在上面的步骤中,我们多次提到了“重新加载”项目。当您手动编辑CMakeLists.txt文件时,需要通过重新加载来应用更改。让我们总结如何执行此操作:
  1. 在CMake工具窗口中,单击刷新按钮,以重新加载项目配置:或者
  2. 使用File | Reload CMake Project菜单项:
重新加载项目后,CLion将重新解析CMakeLists.txt文件并应用任何更改。
CMake预设是一组用于CMake的命令行选项,允许您在不编辑CMakeLists.txt文件的情况下配置CMake项目。CLion支持CMake预设,并为其提供了一个用户界面。要在CLion中配置CMake预设,请执行以下步骤:
  1. 在主菜单中,选择File | Settings (Ctrl+Alt+S)。
  2. 在设置对话框中,转到Build, Execution, Deployment | CMake。
  3. 在顶部选项卡中,找到并选择Presets。
  4. 单击+按钮,然后选择所需的预设。您可以根据需要配置预设选项。
  5. 单击Apply或OK以保存更改。
此后,您可以使用CMake预设配置CMake项目,而无需手动编辑CMakeLists.txt文件。
CMake构建类型允许您指定不同的构建配置,例如“Debug”和“Release”。不同的构建类型可能具有不同的编译器标志和优化选项。在CLion中,您可以轻松配置和切换不同的构建类型:
  1. 单击工具窗口中的构建变体栏:
  2. 选择所需的构建类型,例如“Debug”或“Release”。
  3. CLion将自动重新加载项目以应用新的构建类型。
恭喜!您已经完成了这个简明的CMake教程。您学会了如何创建和配置CMake项目,向现有目标添加文件,添加新的构建目标,以及使用CMake预设和不同的构建类型。CMake是一个强大的构建系统,可以帮助您管理复杂的项目和跨平台开发。希望这个教程能够帮助您入门CMake的基础知识,以便在您的项目中更有效地使用它。如果您想要进一步扩展您的CMake知识和技能,可以尝试在自己的项目中使用CMake,并在实际应用中学习。
 
   
     
     
热门推荐
  • CLion教程-CLion中项目格式
  • C语言算法-"搜索二维矩阵"算法问题
  • C++教程-详解C++语言中拷贝构造函数
 
   
     
     
 
     
       
       







到此这篇Ubuntu源码安装cmake(ubuntu安装cmake教程)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 如何在win11上安装win7虚拟机(win11虚拟机安装教程)2025-07-27 19:09:10
  • 华为模拟器ensp考试(华为ensp模拟器15个视频教程)2025-07-27 19:09:10
  • junit下载教程(junit5怎么下载)2025-07-27 19:09:10
  • 2258xt主控开卡教程(as2258主控 开卡)2025-07-27 19:09:10
  • 虚拟机安装详细教程linux(虚拟机安装详细教程xp)2025-07-27 19:09:10
  • 希沃抽奖小程序制作教程(希沃抽奖小程序制作教程图片)2025-07-27 19:09:10
  • ad16铺铜规则设置(ad16铺铜教程)2025-07-27 19:09:10
  • Junit5教程(junit5怎么用)2025-07-27 19:09:10
  • 怎么用电脑剪辑视频(怎么用电脑剪辑视频教程)2025-07-27 19:09:10
  • cmake教程详解原理(cmake使用教程)2025-07-27 19:09:10
  • 全屏图片