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
查看。或者查看官方的手册
在CLion中使用
用MSVC但是没用VS肯定不会是想抱着记事本写代码的。还是要用IDE的。因此我也没有配置环境变量,也就是在其他的终端中是不能使用cl
命令的。
在CLion配置还是比较无脑的,只要在工具链中点添加就好。如果没有默认识别出来可以去Developer PowerShell for VS 2022用pwd
命令查看路径手动输入路径就好,应该也是可以自动识别的。
创建好工具链之后,再去CMake的设置中再创建一个CMak配置,我这里是叫Debug-MSVC
。理论来说只要选择Dubug
和MSVC
两项,剩余的全部默认就好了。
这样在项目中,我们就可以任意切换两种编译器了。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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题目选做