Windows配置MSVC环境
2025/7/9大约 2 分钟
安装 Windows Terminal 和 PowerShell
winget install Microsoft.WindowsTerminal Microsoft.PowerShell安装 Visual Studio
打开安装前,选择 使用C++的桌面开发
配置终端
命令行改为
pwsh.exe
配置主题和背景,字体等
编译器使用
参见 https://learn.microsoft.com/zh-cn/cpp/build/reference/compiler-options-listed-by-category
基本语法
cl [选项] 源文件 [链接选项]主要编译选项
1. 输出类型控制
/Fe:filename # 指定可执行文件名
/Fo:filename # 指定对象文件名
/Fm:filename # 指定映射文件名
/LD # 编译为DLL (动态链接库)
/LDd # 编译为调试版DLL
/MD # 使用多线程运行时库(DLL版本)
/MT # 使用多线程运行时库(静态版本)
/MTd # 使用多线程调试运行时库(静态版本)2. 优化选项
/O1 # 最小化大小
/O2 # 最大化速度 (推荐)
/Od # 禁用优化 (调试时用)
/Ox # 最大优化3. 调试信息
/Zi # 生成完整调试信息
/Z7 # 生成旧格式调试信息
/DEBUG # 生成调试信息到PDB文件4. 警告控制
/W0 # 禁用所有警告
/W1 # 显示严重警告
/W2 # 显示重要警告
/W3 # 显示大部分警告(默认)
/W4 # 显示所有警告
/Wall # 显示所有警告(包括系统头文件)
/WX # 将警告视为错误5. C++标准
/std:c++11 # C++11标准
/std:c++14 # C++14标准
/std:c++17 # C++17标准
/std:c++20 # C++20标准
/std:c++latest # 最新标准6. 异常处理
/EHsc # 启用C++异常处理(推荐)
/EHs # 启用同步异常处理
/EHa # 启用异步异常处理7. 预处理器选项
/D macro # 定义宏
/U macro # 取消定义宏
/I directory # 添加包含目录
/E # 仅预处理到标准输出
/EP # 预处理到标准输出(无#line)示例
1. 编译DLL
cl /std:c++17 /LD hutao_minhook.cpp /DEF:hutao_dll.def /Fe:hutao_minhook.dll说明:
/std:c++17- 使用C++17标准/LD- 编译为DLLhutao_minhook.cpp- 源文件/DEF:hutao_dll.def- 指定模块定义文件(导出函数列表)/Fe:hutao_minhook.dll- 输出文件名
2. 编译可执行文件
cl /EHsc /O2 /MT /std:c++17 hutao_injector.cpp /Fe:hutao_injector.exe说明:
/EHsc- 启用C++异常处理/O2- 最大化速度优化/MT- 静态链接运行时库/std:c++17- C++17标准hutao_injector.cpp- 源文件/Fe:hutao_injector.exe- 输出文件名
直接在命令末尾加上某lib可以链接,如
user32.lib,也可以在代码中使用#pragma comment(lib, "user32.lib"),就不需要与指定链接文件
直接从
Developer PowerShell for VS 2026启动code .,再安装微软的C/C++和IntelliCode插件,即可在vscode上使用MSVC而不需要启动Visual Studio