MSVC 光速入门

由于我本来的C++环境是 Win10+CLion+cygwin这样可以在Win下使用的无限接近与原生环境的gcc。但是我在win下中有神秘问题难以解决,又不想使用 VS,因此选择了单独安装MSVC。

下载安装

在VS2017后,就已经把VS和MSVC分开了,因此可以不用下载VS也可以使用到MSVC了。

在官网https://visualstudio.microsoft.com/zh-hans/visual-cpp-build-tools/下载生成工具,然后本地在图形界面中安装使用C++的桌面开发即可。很简单的。

关于下载后会有一个Visual Studio Installer,这个软件可以保留用来管理你的MSVC,或者如果以后想要安装VS也很方便。

然后我们在开始菜单应该可以找到一个Developer PowerShell for VS 2022,这其实就是一个默认进入到MSVC安装目录下的 PowerShell。我们在里面输入cl,如果看到

用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.43.34809 版
版权所有(C) Microsoft Corporation。保留所有权利。

用法: cl [ 选项... ] 文件名... [ /link 链接选项... ]

就完成安装了。版本号可能不同。

命令行编译运行

我们还是在Developer PowerShell for VS 2022中,输入cd ~进入用户根目录。然后

md HelloWorld
cd .\HelloWorld\

进入这个文件夹,我们在这个问价夹中新建hello.cpp

写入

#include <iostream>

int main(){
    std::cout << "Hello, world, from Visual C++!" << std::endl;
}

然后回到PowerShell中输入

 cl /EHsc hello.cpp

然后可以看到

用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.43.34809 版
版权所有(C) Microsoft Corporation。保留所有权利。

hello.cpp
Microsoft (R) Incremental Linker Version 14.43.34809.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:hello.exe
hello.obj

即编译成功。最后输入

 .\hello.exe

就可以看到运行结果。

下面来到多文件编译。

hello.cpp如下

#include "print.hpp"

int main(){
    print();
}

print.hpp如下

#include <iostream>

void print();

print.cpp如下

#include "print.hpp"

void print(){
    std::cout << "Hello, world, from Visual C++!" << std::endl;
}

我只需要输入

 cl /EHsc hello.cpp print.cpp

就能看到

用于 x86 的 Microsoft (R) C/C++ 优化编译器 19.43.34809 版
版权所有(C) Microsoft Corporation。保留所有权利。

hello.cpp
print.cpp
正在生成代码...
Microsoft (R) Incremental Linker Version 14.43.34809.0
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:hello.exe
hello.obj
print.obj

然后就是还是运行hello.exe即可。

其实不难发现这里的cl就是类似与gcc的命令。当然更详细的命令可以用cl -help查看。或者查看官方的手册

通过命令行使用 Microsoft C++ 工具集

在CLion中使用

用MSVC但是没用VS肯定不会是想抱着记事本写代码的。还是要用IDE的。因此我也没有配置环境变量,也就是在其他的终端中是不能使用cl命令的。

在CLion配置还是比较无脑的,只要在工具链中点添加就好。如果没有默认识别出来可以去Developer PowerShell for VS 2022用pwd命令查看路径手动输入路径就好,应该也是可以自动识别的。

创建好工具链之后,再去CMake的设置中再创建一个CMak配置,我这里是叫Debug-MSVC。理论来说只要选择DubugMSVC两项,剩余的全部默认就好了。

这样在项目中,我们就可以任意切换两种编译器了。

posted @   PHarr  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· dotnet 源代码生成器分析器入门
· 官方的 MCP C# SDK:csharp-sdk
· 一款 .NET 开源、功能强大的远程连接管理工具,支持 RDP、VNC、SSH 等多种主流协议!
· 一文搞懂MCP协议与Function Call的区别
· 一次Java后端服务间歇性响应慢的问题排查记录
历史上的今天:
2024-03-19 20240319天梯赛训练
2024-03-19 AtCoder Beginner Contest 345
2023-03-19 AtCoder Beginner Contest 293
2022-03-19 AcWing题目选做
点击右上角即可分享
微信分享提示