ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

VS2019下载安装与高频报错全解析:从CMake到MySQL依赖一次讲透

VS2019下载安装与高频报错全解析:从CMake到MySQL依赖一次讲透 很多老项目、老教程到现在还绕不开 Visual Studio 2019尤其是你在装 MySQL、跑 CMake、编译 C 代码时报错里动不动就蹦出来个 “Visual Studio 16 2019” 或者 “could not find any instance of Visual Studio”不装吧它一直卡你装吧又不知道从哪下载才是官方渠道。这篇就把 VS2019 从下载、安装到常见报错一次说透顺便把 “装 MySQL 提示需要 VS2019” 这种奇葩场景也拆开讲清楚。我先说个结论如果你是被 MySQL 安装向导那句“需要 Visual Studio 2019”卡住的那你大概率不需要装 VS2019 本体装个对应的 VC 运行库就行。但如果你是要正经编译 C 代码、跑 CMake 构建、维护老项目那 VS2019 还是得老老实实装完整版。下面按场景分开讲。1. 下载 VS2019别在百度里乱找官方渠道其实有点绕很多朋友一搜“Visual Studio 2019 下载”出来的全是第三方下载站、网盘链接点进去不是捆绑软件就是旧版本。其实 VS2019 微软官方一直在提供下载只是入口藏得比较深因为它已经不算“当前最新版”了主站默认推荐的是 VS2022。1.1 官方下载入口与离线安装包获取VS2019 的官方下载页面固定在 visualstudio.microsoft.com/zh-hans/vs/older-downloads/。你打开这个页面能看到 Visual Studio 2019 的各个版本Community 社区版、Professional 专业版、Enterprise 企业版。个人学习、开源开发、写小工具Community 版完全够用免费、功能全只是有些企业级协作功能被锁。这里有个关键坑直接点页面上的“下载”按钮你下载到的其实是一个几百 KB 的引导器bootstrapper运行后它才根据你勾选的组件去联网下载真正的安装文件。如果你机器网络不稳定或者需要在多台机器上装同一个环境每次都现下现装很容易中途失败。所以更推荐的做法是下载离线安装包。官方提供了 VS 2019 的布局工具layout tool你可以在命令行里执行类似这样的指令vs_setup.exe --layout C:\VS2019Offline --lang zh-CN --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Workload.ManagedDesktop这个命令会把 C 桌面开发和 .NET 桌面开发的安装包完整拉到本地目录之后拷到别的机器上双击vs_setup.exe就能离线安装速度稳定很多。没有现成的vs_setup.exe的话就从“旧版本下载”页面下载引导器再用--layout参数触发下载。提示下载离线包前先确认磁盘空间。VS2019 完整离线包随组件多少可以从 20GB 到 60GB 不等C 盘空间吃紧的话--layout的目标目录和后续安装目录都尽量指定到其他盘。1.2 系统要求与版本选择建议VS2019 官方支持 Windows 10、Windows 11部分版本和 Windows Server 2016/2019/2022/2025。服务器系统上装的时候注意Server 版本默认没有桌面体验有些组件可能装不上但只装编译工具链的话问题不大。版本选择上我个人的建议是Windows 11 和最新版 Windows 10 用户优先考虑 VS202264 位 IDE 综合体验更好。除非你要维护老代码或者项目文件明确要求 v142VS2019工具集。如果你经常跟 CMake 打交道尤其是跑一些第三方库的构建脚本它们可能写死了-G Visual Studio 16 2019那 VS2019 装了最省事。如果你的项目要求用 MSBuild 且编译器版本必须固定在 v142那 VS2019 就是刚需。你可以只装“使用 C 的桌面开发”工作负载里的 MSVC v142 工具集不用装整套 IDE。VS2019 的官方支持周期已经进入“维护阶段”微软会持续提供安全修复到 2029 年 4 月所以不是不能用但要清楚它不会再有大的功能更新了。2. 安装过程拆解工作负载、单个组件和安装路径的取舍VS 安装器和常见软件不太一样它需要你选“工作负载”Workload本质上是一组预设组件的集合。选对了工作负载后面基本一路下一步选错了装到一半发现缺编译器和 SDK再补又得等半天。2.1 最常勾选的三个工作负载打开安装器后在“工作负载”标签页你会看到几十个选项常用的是这几个使用 C 的桌面开发C 编译调试的必需品包含 MSVC v142 编译器、Windows SDK、CMake 工具、测试工具等。如果你要编译 C 项目、跑 CMake、做 Windows 桌面程序勾这个。.NET 桌面开发面向 C#、VB.NET 的 WinForms、WPF 桌面应用开发。如果你只写 C# 工具勾这个就够了。ASP.NET 和 Web 开发面向 Web 项目包括 ASP.NET Core、HTML/JS/CSS 工具等。其他像“Python 开发”“Node.js 开发”“通用 Windows 平台开发”等等按需勾选。我的经验是别贪多。每多勾一个工作负载安装体积都是按 GB 计算的装完十有八九用不上还拖慢后续更新和启动速度。2.2 单个组件如何选用不到的坚决不装工作负载里其实还套着子组件切换到“单个组件”标签页你能看到被勾选的到底有哪些具体项。这里有个容易踩的坑如果你机器上已经装了独立版 Windows SDK 或 CMake安装 VS 时可以把对应子项取消避免版本冲突。几个值得留意的小组件Windows 10 SDK一般是必选C 编译 Windows 程序需要它默认会勾上最新版本。如果不想装太新可以选旧版 SDK在单个组件里搜“SDK”手动切换。CMake 工具如果你打算用 VS 自带的 CMake 支持别去掉。如果你用命令行 CMake 且机器上已有可以留着也行不影响。v143 工具集VS2019 安装器里默认也提供 v143VS2022 的编译器如果你想在 VS2019 里编译较新代码可以顺手勾上。不过这个体积不小按需。2.3 安装路径和缓存目录的规划VS2019 默认装在 C 盘安装缓存还会占一份空间。我建议在安装界面里把“Visual Studio IDE”和“下载缓存”都改到非系统盘比如 D:\VS2019 和 D:\VS2019Cache。理由很现实C 盘一旦满了系统性能和后续 Windows 更新都会出问题。改路径之后有个注意点有些第三方工具会硬编码找C:\Program Files (x86)\Microsoft Visual Studio\2019\Community这个默认路径比如老的 CMake 脚本、某些 CI 配置文件。如果你改了安装路径遇到这种脚本还得去改环境变量或者脚本里的路径稍微麻烦一点。介意的话就维持默认。安装过程中如果网速一般等待时间可能比较久建议选“安装时下载”别选“全部下载后再安装”——后者要等全部下载完才开始装看起来更稳实际更慢。安装完成后安装器会提示重启尽量别跳过。3. 安装完后的关键配置UTF-8 编码、环境变量和开发者命令行VS2019 装完IDE 能打开但很多人的第一个坎就来了代码里中文乱码、编译报错找不到环境变量、CMake 说找不到 VS 实例。这些问题不算 bug基本都是配置缺位。3.1 把 VS2019 的代码保存和编译设置改成 UTF-8热搜词里有个“visual studio 2019 怎么改成 utf-8 代码”这个搜索量一直很高说明中文开发者被编码问题坑得不轻。VS2019 的默认行为在中文系统上有点分裂新建的 C 源文件可能用本地代码页GBK保存而现代工具链、Git、CI 系统基本默认 UTF-8两边一碰就乱码。解决方法分两层第一层单个文件的编码转换。在 VS2019 里打开文件点菜单栏“文件 - 另存为”在弹出的保存对话框里点“保存”按钮旁边的小箭头选“编码保存”。在编码下拉框里选 “UTF-8 with signature” 或 “Unicode (UTF-8 without signature) - 代码页 65001”。前者带 BOMWindows 老工具识别更稳后者不带 BOM更符合跨平台习惯。我一般选带 BOM 的因为 MSVC 对带 BOM 的 UTF-8 文件识别最省心。第二层全局默认编码。VS2019 在“工具 - 选项 - 环境 - 文档”里可以设置“保存时使用 Unicode”。但注意这个默认编码对 C 工程的 .cpp/.h 文件不一定完全生效最可靠的办法还是给项目加编译选项。在项目属性 - C/C - 命令行 - 附加选项里加上/utf-8这个选项告诉 MSVC“我的源文件是 UTF-8”同时把执行字符集也设为 UTF-8中文字符串字面量不会再乱。老项目如果历史文件是 GBK 编码加这个选项反而可能乱需要先把文件转成 UTF-8 再启用。3.2 环境变量与“Developer Command Prompt”VS2019 安装完成后系统“开始菜单”里会出现一个“Visual Studio 2019”文件夹里面藏着“Developer Command Prompt for VS 2019”和“Developer PowerShell for VS 2019”。这个终端和普通 CMD 最大的区别是它自带环境变量cl.exe、msbuild、cmake这些命令直接能用。很多新手直接在普通 CMD 里敲cl提示“不是内部或外部命令”就开始怀疑安装有问题。其实不是没装好而是没加载 VS 的环境变量。如果你要在自己的终端里用 VS 的编译工具可以执行C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat路径里的Community换成你的实际版本Professional 或 Enterprise 也一样。这样当前的命令行窗口就能用 MSVC 工具链了。如果是给 CMake 找 VS 生成器VS 安装正确的标志是能在C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build下找到vcvars64.bat这类文件。这个文件存在基本说明 C 工具链没问题。3.3 验证安装是否成功用命令确认我习惯装完先跑一遍这几个命令确认工具链可用cl msbuild -version cmake --versioncl会输出编译器的版本和用法提示如果提示“找不到 cl.exe”八成没装 C 工作负载或者没在开发者命令行里执行。msbuild -version能输出 MSBuild 版本正常情况你会看到类似 16.x 的版本号16 对应 VS2019。cmake --version则确认 CMake 是否可用。还有个更硬核的验证方式直接用vswhere.exe查询已安装的 VS 实例C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64如果它输出了安装路径和版本号说明 VS2019 和 C 工具链都注册到了系统里。这个方法在排查“could not find any instance of Visual Studio”时特别有用。4. 高频报错的排查实况could not find any instance 与 MySQL 依赖这节重点聊两个热搜词背后的问题。一个和 CMake 构建相关一个是 Windows Server 装 MySQL 时踩的坑。这俩坑我都亲手踩过写出来给大家省点时间。4.1 CMake 报错 “could not find any instance of Visual Studio”这个报错的完整形态常见于你执行 CMake 配置时命令大概是这样的cmake -G Visual Studio 16 2019 ..然后 CMake 返回CMake Error: could not find any instance of Visual Studio.这句话的意思很直白CMake 在系统注册表里找不到匹配的 VS2019 实例。注意不是“VS 没安装”而是“CMake 没找到”。排查看三个方向。第一你确实没装 VS2019而是装了 VS2022然后命令里硬写-G Visual Studio 16 2019那必然找不到。这种情况要么改用-G Visual Studio 17 2022要么装 VS2019。第二VS2019 装了但是只装了 .NET 工作负载没勾 C 桌面开发CMake 依然认为这个实例不可用因为 CMake 生成 Visual Studio 工程需要依赖 VC 工具集。解决方法是打开 Visual Studio Installer修改安装勾上“使用 C 的桌面开发”。第三VS 装了但注册信息损坏多见于多版本共存或者安装过程中断的情况。先用前面提到的 vswhere 命令确认实例存在然后去“Visual Studio Installer - 修复”一般能恢复。还有一个场景容易被忽略有些 CI 流水线和脚本运行在普通命令行里没有加载 VsDevCmd.bat也搜不到 VS 实例。解决方案不是改系统变量而是把生成器改为 Ninja并用-DCMAKE_C_COMPILERcl但前提仍然是你得先进入开发者命令行或加载 vcvars64。4.2 Windows Server 2025 装 MySQL 提示需要 Visual Studio 2019这个场景很多人在服务器上会遇到Windows Server 2025 装 MySQL 或 MySQL Workbench 的时候安装向导突然弹窗说缺少 “Visual Studio 2019” 或 “VC 2015-2019 Redistributable”。不明所以的人就会去下载几个 GB 的 VS2019 IDE其实完全没必要。MySQL 官方安装包依赖的是 Microsoft Visual C Redistributable 运行库不是 Visual Studio IDE。这个运行库是给 C/C 程序提供运行支持的轻量组件几十 MB装完后程序才能跑起来。很多人被提示文案里“Visual Studio 2019”这个字样吓到了以为是完整版 IDE。正确做法是到微软官网搜索 “Visual C Redistributable for Visual Studio 2015-2022”下载vc_redist.x64.exe并安装装完重启 MySQL 安装程序即可。如果安装时提示已经装了更新版运行库但 MySQL 还是不能装就用“程序和功能”卸载旧版 VC 运行库再重装这个问题多见于 32 位和 64 位运行库混装导致注册表状态异常。MySQL 8.0 及以上对运行库版本要求比较死板有些版本指定要 2019 的 VC 运行库而系统里只有 2022 的也会报错。这种情况下装一个 2019 版本号的 VC 运行库就行跟 VS2019 IDE 没关系。4.3 错误的“修复”方式越折腾越坏因为“找不到 VS 实例”和“需要 VS2019”这两类问题我见过不少用户做出了非常折腾的操作装 VS2022 又卸 VS2019、把整个 C 盘 VS 文件夹删掉重来、甚至重装系统。其实大部分情况下问题很小按部就班确认组件、修复安装、装减轻量运行库三步就能解决。如果你手头有项目必须用 VS2019先别急着上手。打开 Visual Studio Installer确认你装的版本是 Community/Professional/Enterprise 中的哪一个再去确定组件是否包含 C 工具集。如果只是被 MySQL 卡住前面说了装 VC 运行库就够了别让 IDE 替你背锅。5. 几个影响使用体验的小细节磁盘占用、更新策略和项目兼容VS2019 用久了你会发现它不像普通软件装上就完事有些细节会影响长期的开发体验这里分享一下我的处理习惯。5.1 磁盘空间管理与缓存迁移VS2019 安装完大概占 30-50GB取决于工作负载加上安装缓存吃磁盘确实厉害。如果你装了多个版本比如 VS2019 和 VS2022 共存那每个版本都有独立目录空间翻倍。磁盘吃紧时可以打开 Visual Studio Installer找到“删除备用版本”之类选项或者手动删掉安装缓存目录前提是你不打算再修改安装。有人问能不能直接 C 盘删掉 “Microsoft Visual Studio” 文件来释放空间千万别。VS 的目录结构非常依赖注册表和安装器状态直接删会导致 Installer 认为 VS 仍存在后续想重装或修复都会出问题。要卸载必须走 Installer。5.2 更新策略别追新也别万年不更VS2019 现在是维护期微软不会隔三差五推大版本更新但会推安全补丁和小版本更新比如 16.11.x。我的建议是装完后把 Installer 里的“更新”选项设置为手动避免它后台自动下载更新包占带宽同时每半年左右手动更新一次即可。更新前最好把正在打开的解决方案全部关掉更新过程中不要强制关机否则可能导致安装状态损坏。如果更新到一半卡住去“服务和应用程序”里重启 “Visual Studio Installer” 服务再试。5.3 与 VS2022 共存的注意点VS2019 和 VS2022 完全可以在一台机器上共存它们使用不同的安装目录和注册表键。但如果项目用 VS2019 打开它默认使用 v142 工具链用 VS2022 打开默认使用 v143。同一份代码在两个版本里编译可能因为工具链版本不同产生差异比如 C 标准库的二进制兼容问题。如果你维护一个要被 VS2019 和 VS2022 交替编译的 C 库尽量把“平台工具集”显式设为v142或v143不要用“Latest installed”。设置路径在项目属性 - 常规 - 平台工具集。这样能避免“能用但跑了不同构造”的隐隐的坑。6. 我这几年用 VS2019 攒下的几条实在经验想着重说一件事尽量养成“按需安装、能轻则轻”的习惯。VS2019 不是越大越全越好尤其做 C 开发完全可以在 Installer 里只勾选“使用 C 的桌面开发”去掉不需要的“单个组件”把体积控制在 20GB 左右。很多朋友一上来全选装完除了启动变慢毫无收益。再补一个冷门但实用的技巧如果你经常要写 C但是觉得 VS2019 的 IntelliSense 在超大项目面前容易卡顿可以试试在“工具 - 选项 - 文本编辑器 - C/C - 高级”里把“禁用自动加载”打开然后只手动触发代码浏览。这个小调整能明显提升在大型代码库中的编辑流畅度代价是智能提示刷新变慢适合平时主要靠编译错误来定位问题的老手。另外VS2019 对老项目的兼容性目前仍然是最好的。我手里有几个多年前的 MFC 工程用 VS2019 打开基本零迁移成本换 VS2022 偶尔会遇到控件库和字符集告警。如果你也有老项目要维护VS2019 可以当主力环境留着新项目再考虑新版本。一盘 VS2019 装好能安安稳稳用很多年这点在工具链里相当难得。
返回列表