01、使用CMakeLists.txt构建第一个跨平台C++程序

1、目录结构

image-20231123215437238

2、一个最小的 CMakeLists.txt

#最小版本要求
cmake_minimum_required(VERSION 3.5)

#项目
project(HelloApp 
        VERSION 0.0.1
        DESCRIPTION "The leading Hello world App"
        LANGUAGES CXX)

#添加文件
add_executable(HelloAppBinary main.cpp)

#目标编译器的特性设置
target_compile_features(HelloAppBinary PRIVATE cxx_std_20)

在这个CMakeLists.txt文件中,我们首先指定了最小的CMake的版本要求为3.5。

然后,我们定义了一个项目名为HelloApp,指定了项目的版本为0.0.1,并添加了一个描述为"The leading Hello world App"的说明。我们还指定了项目的主要语言为C++。

接下来,我们使用add_executable命令添加了一个可执行文件HelloAppBinary,并将其与main.cpp文件关联起来。

最后,我们使用target_compile_features命令为HelloAppBinary目标设置了编译器的特性,这里我们指定了C++的标准为C++20。

关于project中的VERSION、DESCRIPTION,网上的解释如下(PS:我没有看到有这行信息输出):

在CMakeLists.txt文件中指定的项目版本可以在生成的构建系统中查看。具体来说,可以在构建过程中的输出中找到项目的版本信息。

例如,使用CMake构建项目时,在命令行或终端的输出中可以看到类似以下的信息:

-- Configuring project HelloApp version 0.0.1

这里的"HelloApp version 0.0.1"即是指定的项目版本信息。在实际的构建系统中,可能会有更详细的版本信息显示,具体取决于使用的构建工具和集成开发环境。

3、windows 下编译步骤

工具:Developer PowerSheel For VS2022

mkdir build
cd build
cmake ../source

image-20231123221313641

image-20231123221426717

接下来可以使用VS打开HelloApp.sln,或者直接在命令行里完成编译

image-20231123221732028

运行

image-20231123221842459

4、在Linux系统下编译运行

image-20231123222213727

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值