【VsCode】使用MSVC的 cl.exe 编译C++文件,环境配置。

2024-03-07 01:40

本文主要是介绍【VsCode】使用MSVC的 cl.exe 编译C++文件,环境配置。,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0.引言:众所周知vscode是个伟大的“编辑器”,但是想要编译C++,生成可执行文件exe。还是需要配置环境的。

方案一: 使用mingw当中的g++.exe进行编译。

方案二:使用msvc当中的cl.exe进行编译。

因为之前已经配置了g++,但是毕竟需要额外下载安装mingw。今天就像尝试使用msvc进行编译,毕竟搞C++的大部分都会有一个visual studio。

环境变量路径主要分为两部分,windows sdk 和microsoft visual studio两部分。

一般来说,我们在安装visual studio的时候都已经选择了。

1.配置环境变量 。分为三部分,Include环境变量,Lib环境变量,Path环境变量。

1.1 Include环境变量部分。

这里要注意,因为我是第一使用这个Include环境变量,实际上它可能不存在,所以需要自己创建一个。

并不是把它加到Path这个变量下面(一开始就踩了坑)。

1.新建环境变量INCLUDE

变量值,先填写一个。

比如

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include;

一定要注意要加 英文格式的分号。这样才正确,再次点进去才有很多行可以添加

2.上面添加了一个。可以按照上面的路径找一下其他的4个include路径。注意版本号可能不一样。

1.2 Lib环境变量部分。

同样,新建LIB变量,添加一个路径,注意加英文分号,这里还要选择x64(示例)

再添加其他的几个:

1.3 PATH环境变量部分。

path默认一般都有,添加一个:

这个下面有cl.exe,cl.exe就是类似于g++.exe的东西

确定保存。

2.测试

  1. 这个时候,按理来说已经成功了。我们测试一下:

  1. 新建一个hello_msvc.cpp

#include <iostream>
using namespace std;
int main()
{for (int i = 0; i < 10; i++)
{cout<< "hello MSVC"<<endl;
}return 0;
}
  1. 应用cmd进行cl.exe测试。

按照下面步骤。

注意

输入cl,如果不对,说明环境变量path没配好。

输入cl hello_msvc,如果显示什么.h没路径,是include没配好。

cl.exe 编译 iostream: 不包括路径集

这列踩了半天坑。因为把所有路径都放path变量下面了。。尤其是这个:

cl.exe 编译 iostream: 不包括路径集。。。。。。回去检查环境变量。

3.进入vscode进行用msvc编译。

1.先把之前的删了,只留一个cpp。

2.用vscode打开文件夹test_msvc

3. 点终端--运行生成任务---cl.exe生成。

下面两个,g++.exe和cpp.exe是mingw下面的。可以不用看

出现:才算正确。

4. 调试,选择cl.exe

结果:

4.题外话。

这里的编译是最简单的编译一个cpp,使用vscode编译cpp不像vs这种ide那么方便。如果是多个源文件,还要关注:否则会报错。

例如:

(172条消息) 【vscode】用VScode编译cpp,包含了头文件,但是还undefined reference_vscode包含其他头文件_pull_future的博客-CSDN博客

后面可能会记录一下这两个配置文件。

当然会写CMakeList更好更方便。

这篇关于【VsCode】使用MSVC的 cl.exe 编译C++文件,环境配置。的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/782060

相关文章

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

C++中全局变量和局部变量的区别

《C++中全局变量和局部变量的区别》本文主要介绍了C++中全局变量和局部变量的区别,全局变量和局部变量在作用域和生命周期上有显著的区别,下面就来介绍一下,感兴趣的可以了解一下... 目录一、全局变量定义生命周期存储位置代码示例输出二、局部变量定义生命周期存储位置代码示例输出三、全局变量和局部变量的区别作用域

C++中assign函数的使用

《C++中assign函数的使用》在C++标准模板库中,std::list等容器都提供了assign成员函数,它比操作符更灵活,支持多种初始化方式,下面就来介绍一下assign的用法,具有一定的参考价... 目录​1.assign的基本功能​​语法​2. 具体用法示例​​​(1) 填充n个相同值​​(2)

Spring StateMachine实现状态机使用示例详解

《SpringStateMachine实现状态机使用示例详解》本文介绍SpringStateMachine实现状态机的步骤,包括依赖导入、枚举定义、状态转移规则配置、上下文管理及服务调用示例,重点解... 目录什么是状态机使用示例什么是状态机状态机是计算机科学中的​​核心建模工具​​,用于描述对象在其生命

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用