【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

相关文章

基于Python编写一个git自动上传的脚本(打包成exe)

《基于Python编写一个git自动上传的脚本(打包成exe)》这篇文章主要为大家详细介绍了如何基于Python编写一个git自动上传的脚本并打包成exe,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录前言效果如下源码实现利用pyinstaller打包成exe利用ResourceHacker修改e

利用c++判断水仙花数并输出示例代码

《利用c++判断水仙花数并输出示例代码》水仙花数是指一个三位数,其各位数字的立方和恰好等于该数本身,:本文主要介绍利用c++判断水仙花数并输出的相关资料,文中通过代码介绍的非常详细,需要的朋友可以... 以下是使用C++实现的相同逻辑代码:#include <IOStream>#include <vec

基于C++的UDP网络通信系统设计与实现详解

《基于C++的UDP网络通信系统设计与实现详解》在网络编程领域,UDP作为一种无连接的传输层协议,以其高效、低延迟的特性在实时性要求高的应用场景中占据重要地位,下面我们就来看看如何从零开始构建一个完整... 目录前言一、UDP服务器UdpServer.hpp1.1 基本框架设计1.2 初始化函数Init详解

C#中checked关键字的使用小结

《C#中checked关键字的使用小结》本文主要介绍了C#中checked关键字的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录✅ 为什么需要checked? 问题:整数溢出是“静默China编程”的(默认)checked的三种用

C#中预处理器指令的使用小结

《C#中预处理器指令的使用小结》本文主要介绍了C#中预处理器指令的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 第 1 名:#if/#else/#elif/#endif✅用途:条件编译(绝对最常用!) 典型场景: 示例

jdk1.8的Jenkins安装配置实践

《jdk1.8的Jenkins安装配置实践》Jenkins是一款流行的开源持续集成工具,支持自动构建、测试和部署,通过Jenkins,开发团队可以实现代码提交后自动进行构建、测试,并将构建结果分发到测... 目录Jenkins介绍Jenkins环境搭建Jenkins安装配置Jenkins插件安装Git安装配

C++ 右值引用(rvalue references)与移动语义(move semantics)深度解析

《C++右值引用(rvaluereferences)与移动语义(movesemantics)深度解析》文章主要介绍了C++右值引用和移动语义的设计动机、基本概念、实现方式以及在实际编程中的应用,... 目录一、右值引用(rvalue references)与移动语义(move semantics)设计动机1

Nginx之https证书配置实现

《Nginx之https证书配置实现》本文主要介绍了Nginx之https证书配置的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录背景介绍为什么不能部署在 IIS 或 NAT 设备上?具体实现证书获取nginx配置扩展结果验证

VSCode开发中有哪些好用的插件和快捷键

《VSCode开发中有哪些好用的插件和快捷键》作为全球最受欢迎的编程工具,VSCode的快捷键体系是提升开发效率的核心密码,:本文主要介绍VSCode开发中有哪些好用的插件和快捷键的相关资料,文中... 目录前言1、vscode插件1.1 Live-server1.2 Auto Rename Tag1.3

Mysql中RelayLog中继日志的使用

《Mysql中RelayLog中继日志的使用》MySQLRelayLog中继日志是主从复制架构中的核心组件,负责将从主库获取的Binlog事件暂存并应用到从库,本文就来详细的介绍一下RelayLog中... 目录一、什么是 Relay Log(中继日志)二、Relay Log 的工作流程三、Relay Lo