首页 > 其他分享 >Cmake学习(一)

Cmake学习(一)

时间:2022-09-05 12:44:07浏览次数:76  
标签:MSBuild cmake 学习 编译器 msbuild build https Cmake

Cmake学习(一) 环境

两种环境

windows上的cmake构建

1.安装cmake和设置环境变量
cmake下载地址: https://cmake.org/download/

2.安装并设置msbuild的环境变量
安装了vs的话:在C:\Program Files\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin这个目录找,当然这个是我的目录,你可以根据自己安装的目录寻找。

也可以安装独立的musbuild:https://docs.microsoft.com/zh-cn/visualstudio/msbuild/walkthrough-using-msbuild?view=vs-2019

3.不使用msvc编译器的话,可以安装MinGW

4.使用 wsl(ubuntu) + vscode来体验在linux上构建

linux上的cmake构建

安装cmake,make,g++等程序

我的环境

因为学习,所以两个环境都要试一下

windows环境: vs2019的msvc + msbuild
命令使用:
  mkdir build && cd build
  cmake ..
  MSBuild.exe .\hello_cmake.sln -p:Configuration=Release   或者 MSBuild.exe .\hello_cmake.sln -p:Configuration=Debug

linux环境:   vscode + wsl(ubuntu)
命令使用:
  mkdir build && cd build
  cmake ..
  make

1.使用msvc编译器

使用msvc编译器的话,cmake会生成 xxx.slnxxx.vcxproj等文件
image

VCXPROJ文件是Microsoft Visual Studio的一个组件,用于开发c++程序。 
它包含xml格式的文本,定义了项目的内容、平台需求、版本信息以及web服务器或数据库服务器设置。 

VCXPROJ文件用于使用MSBuild编译器 (Microsoft build Engine)构建开发人员的项目。
VCXPROJ文件是包含由MSBuild的XML模式定义的元素的XML文件。 这些元素告诉MSBuild要构建哪些项以及如何构建它们。

2.使用g++编译器

使用g++编译器的话,cmake会生成 makefile等文件
image

说明

本文是依据github上的cmake-examples的项目作为基础来学习和总结的。
cmake-examples:https://github.com/ttroy50/cmake-examples.git
官方教程:https://cmake.org/cmake/help/latest/guide/tutorial/index.html
参考博文:
https://zhuanlan.zhihu.com/p/113554911

标签:MSBuild,cmake,学习,编译器,msbuild,build,https,Cmake
From: https://www.cnblogs.com/bleds/p/16657413.html

相关文章

  • 数据结构与算法学习笔记———链表(Linked List)
    链表(LinkedList)#该篇笔记转自【Python】python链表_小周ipython的博客-CSDN博客_python链表简介链表(LinkedList):是一种线性表数据结构。他是用一组任意的存储单元(可......
  • Flask 学习-47.Flask-RESTX 自定义响应内容marshal_with
    前言Flask-RESTX提供了一种简单的方法来控制您在响应中实际呈现的数据或期望作为输入有效负载的数据。使用该fields模块,您可以在资源中使用所需的任何对象(ORM模型/自定......
  • 2022-2023-1 20221311《计算机基础与程序设计》第一周学习总结
    作业信息班级:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业链接:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01作业目标:快速浏览教材作业正文:ht......
  • 学习 Xcode(第 4 部分)
    学习Xcode(第4部分)现在,我们的代码和实时更新如下所示:现在,我想在已有的文本框下方添加另一个文本框。我怎样才能做到这一点?我花了很长时间试图弄清楚这一点。答案在......
  • 学习 Xcode(第 3 部分)
    学习Xcode(第3部分)设置完成后,是时候开始构建一些东西了。我对编码有非常基本的了解。如果你让我构建一些东西,我能做的最好的就是打印“Hello,World!”到屏幕。有趣......
  • (鹏哥C语言)C语言学习记录1
    作用域:局部变量的作用域:就是局部变量所在的局部范围全局变量的作用域:整个工程。(不同文件之间需要声明一下变量)执行性代码必须放进大括号里。生命周期:变量的生命周期:变......
  • Markdown学习
    Markdown学习标题三级标题四级标题#+空格(几个#几级标题)字体粗体(两边两个*)斜体(两边一个*)斜体加粗(两边三个*)特殊(~~)引用(>+空格即可)分割线三个-三个***图......
  • 什么是机器学习?
    什么是机器学习?参考了网络上的各家说法,一句话概括就是数据学习,机器决策(对应输入和输出)。机器学习通常解决分类,回归等问题。1分类算法&机器学习一张图概括分类算法流程......
  • MPI学习笔记(四):矩阵相乘的Cannon卡农算法
    mpi矩阵乘法:C=αAB+βC一、Cannon卡农算法基本介绍1、二维矩阵串行乘法两个n维方阵的乘法A×B=C的串行计算公式为:下图是用图示来表示的这种计算规则:2、二维块划分的......
  • MongoDB学习(二)
    MongoDB基本操作查看数据库语法:showdatabases选择数据库语法:use数据库名注意:在MongoDB中选择不存在的数据库不会报错,后期当该数据库有数据时,系统会自动创建,这叫隐......