首页 > 编程语言 >windwos cmake与c++的使用教程(2)

windwos cmake与c++的使用教程(2)

时间:2022-11-15 18:45:50浏览次数:66  
标签:脚本 输出 cmake c++ project 文件夹 windwos hello

概述

一个基于cmake的hello cmake

本节目标:使用VSCode创建cmake脚本文件,输出hello cmake

1 准备

因为cmake执行过程可能有新的文件生成,所以, 这里新建一个空白的文件夹A,用于存放本次演示结果。

2 VSCODE打开文件夹

  • 使用VScode打开 c:/A 文件夹: VSCode > File > Open Folder
  • 新建名为 CMakeLists.txt的文件(这是Cmake解析脚本文件的入口,我们目前介绍的cmake脚本代码,都是基于该文件作为容器, 文件名不能是其他的),假设该文件存放于: C:/A目录下, 此时的结构为:

3 脚本内容

  • CMakeLists.txt脚本文件内容
#指定CMAKE脚本解析的最小版本
cmake_minimum_required(VERSION 3.20.0)
# 输出 hello cmake
message("hello cmake")
  • 如注释,cmake_minimum_required指定脚本解析的cmake最低版本,因为cmake的版本也在不同迭代。没有这句代码,也是可以的。 不过,会影响到某些语法,鉴于此,脚本文件还是加上这句代码。
  • message, 类似C语言或者c++中标准输出,可用于输出变量的值或者字符串。

注意: 示例文件中,由于没有设置project,将会提示警告, 但是cmake会为我们生成默认的项目。 不会影响到脚本的执行

5 输出执行脚本

  • 回到Vscode, 打开命令行,或者使用快捷键: ctrl + shift + p
  • 命令行输入以下命令并回车:
>cmake: select a kit

Vscode 有提示, 输入中途,可使用上下键选择对应的命令后回车。

这里根据你的需要, 选择对应的kit。 我这里演示为: vs2019 64位

  • VScode 命令行键入以下命令后回车,
>cmake:configure

命令输入后,VSCode 将 显示输出对话框,显示当前脚本执行结果

  • 查看输出,hello cmake已输出。

至此,已经输出 hello cmake, 目标完成

6 改进

  • 3.5的输出结果中,有warning, 那是因为,我们没有指定project
  • 改进CMakeLists.txt中的脚本内容如下
#指定CMAKE脚本解析的最小版本
cmake_minimum_required(VERSION 3.20.0)
# 指定cmake project 
project(cmake_demo)
#输出 hello cmake
message("hello cmake")
  • project 用于指定项目的名称,后面继续深入该函数。
  • 执行脚本, 由于已经选择过了 kits, 所以这里只需要打开命令行输入以下命令回车即可
>cmake:configure

执行命令前,回到Vscode手动删除build文件夹。

  • 执行结果可见,cmake的警告消失,同时, 生成的vs的解决方案名称与project参数相同。

7 build文件夹

  • 通过输出第一个 hello cmake 后,会发现,与CMakeLists.txt同级目录下多了一个build的文件夹,里面有不少文件,它是用来存放cmake根据配置生成项目的构建工程文件和cmake的临时文件
  • build目录可以修改,也可以换成ABuild或者BuildDemo,方法:
  • 该文件夹可以删除,当执行 > cmake:configure命令后,该目录会重新创建

标签:脚本,输出,cmake,c++,project,文件夹,windwos,hello
From: https://www.cnblogs.com/pandamohist/p/16893485.html

相关文章

  • C++——各版本新特性
    参考:https://www.cnblogs.com/yrm1160029237/p/14246166.htmlC++11auto关键字decltype关键字nullptr字面值constexpr关键字for(declaration:expression)Lambda表......
  • C/C++ Qt MdiArea 多窗体组件应用
    MDI多窗体组件,主要用于设计多文档界面应用程序,该组件具备有多种窗体展示风格,其实现了在父窗体中内嵌多种子窗体的功能,使用MDI组件需要在UI界面中增加mdiArea控件容器,我们所......
  • c++primier
    ch1开始编译、运行程序p3ch2变量和基本类型算数类型p30字面值常量概念p35const限定符p53const的引用p54指针和constp56顶层constp57constexpr......
  • CSP 201312-2 ISBN号码 C++
     1#include<iostream>2#include<algorithm>4#include<array>56intmain(){7std::array<int,9>ISBN{};8charc{};9intlenth{......
  • C++面经 : C++ 11 新特性(闭包与匿名函数) ----C++ Closure & C++ anonymous functions
    关于C++Closure闭包和C++anonymousfunctions匿名函数什么是闭包?在C++中,闭包是一个能够捕获作用域变量的未命名函数对象,它包含了需要使用的“上下文”(函数......
  • 数据结构前导课 | 1 温故知新——一篇文章领略信息学C++知识结构
    、戳一戳!和我一起走进信息学的世界导读C++是大多数学生入门信息学、参加信息学竞赛必备的编程语言。掌握C++,能够有助于孩子未来工作发展,也能提升孩子的综合能力,如抗挫折能力......
  • Matlab编译32位dll(c++)
    ##随手记录##核心:编译matlab核心工具链注意:需要把my_msvc_32bit_tc.m和myRtwTargetInfo.txt放在一个文件夹中,matlab目录文件也是转到此处step1:获取VC版本号方法一:在电......
  • 用C/C++开发工业软件适合吗?
    用C/C++开发工业软件最适合的了,这是因为C/C++是仅次于汇编语言的最底层程序开发语言;同时工业软件最大的特征就是专业性强、复杂度高,需要相当深的专业知识、经验、科研基......
  • c++ 函数指针
    函数指针是指向函数的指针。指针的类型由它的返回类型和形参类型共同决定。例如bool(*Pf)(conststring&,conststring&);pf指向一个函数,函数的参数是两个string......
  • windwos cmake与c++的使用教程
    1概述欢迎指正......