ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

VS2019安装与C++环境配置:从下载到Hello World避坑指南

VS2019安装与C++环境配置:从下载到Hello World避坑指南 简介这份PDF资料聚焦Visual Studio 2019的安装流程与常见问题处理面向刚接触VS2019的C/C初学者及需要重装或排错环境的开发者。内容以图文并茂的方式梳理了从官网下载社区版、选择语言包与安装位置到创建空项目、编写代码、调试运行的完整链路并针对字符集报错、不安全函数警告、SDL检查等典型问题给出处理思路。资源包共1个PDF文件大小约1.2MB轻量便于随时查阅。目前已有4387人学习下载说明其在入门群体中具备一定参考价值。读者可借此快速完成环境搭建理解x86调试、多字节字符集设置等关键操作减少因配置不当导致的编译与运行障碍适合作为VS2019上手阶段的实用参考手册。1. 从一次装完就跑不起来说起VS2019 到底该怎么装很多人第一次装 Visual Studio 2019都是官网点一下、社区版下载、下一步下一步装完打开新建项目写个 Hello World 就报错。不是缺组件就是字符集不对再不然就是scanf被拦下来。装是装上了用起来处处别扭。这篇就把 VS2019 从下载、组件勾选、第一个 C 项目跑通到后面几个高频报错的处理按我自己踩过的顺序捋一遍。适合刚上手 VS 的在校生、转 C/C 的开发者以及需要在一台新机器上快速把环境搭起来的人。装之前先确认一件事这台机器是准备长期写 C/C还是顺带写 C#、Python组件勾选差别很大后面会细说。2. 下载与组件勾选社区版够不够工作负载怎么选2.1 版本选择与下载入口VS2019 有三个主要版本社区版Community、专业版Professional、企业版Enterprise。社区版对个人开发者、开源项目、学生和小团队是免费的功能上写 C/C 完全够用。专业版和企业版主要多的是团队协作、架构验证、企业级测试工具这类东西个人学习阶段用不上。所以直接选社区版就行不用纠结。下载入口在微软官网的 Visual Studio 页面找到 2019 版本点社区版下载会得到一个vs_community.exe之类的引导程序。这个文件很小它本身不是完整安装包运行之后才会去拉真正的安装内容。所以下载完这个 exe 只是第一步后面安装过程需要联网而且耗时主要花在下载组件上。提示如果机器网络不稳定或者需要给多台离线机器装可以研究一下离线安装包的制作方式用命令行把需要的组件先缓存到本地。这个后面第 5 章会讲。2.2 工作负载勾选写 C/C 到底勾哪几个运行引导程序后会进入安装界面核心是「工作负载」这一栏。很多人翻车就翻在这里要么勾太多装了几十个 G 用不上要么勾太少建了项目发现编译器找不到。如果主要写 C 和 C勾选「使用 C 的桌面开发」这一项就够了。它会带上 MSVC 编译器、Windows SDK、CMake 工具、调试器这些核心组件。写 C# 就勾「.NET 桌面开发」写 Python 就勾「Python 开发」但如果你只是偶尔跑个 Python 脚本不勾也行后面单独装 Python 环境更灵活。单个组件那一栏默认跟着工作负载走一般不用动。但有两个地方值得看一眼一是「Windows 10 SDK」的版本如果项目对 SDK 版本有要求这里要确认二是「C CMake 工具」如果你用 CMake 构建项目确保它是勾上的。语言包选简体中文。英语语言包可以顺手勾上因为很多报错信息和文档是英文的IDE 界面切成英文对排查问题有帮助。安装位置默认在 C 盘如果 C 盘空间紧张可以改到其他盘但路径里不要有中文和空格这是血泪经验后面编译一些第三方库时中文路径会出玄学问题。2.3 安装过程与首次启动配置勾完点右下角「下载时安装」或者「安装」剩下的就是等。文件确实大几个 G 到十几个 G 不等取决于勾了多少组件。安装完成后会提示重启重启后首次启动 VS2019会让你选主题和开发设置。主题选深色还是浅色看个人习惯开发设置如果写 C/C选「Visual C」这一项它会把常用的窗口布局、快捷键预设好。这一步选错了也能改在「工具」→「导入和导出设置」里重置。启动后先别急着写代码建议做两件事一是确认字体和字号在「工具」→「选项」→「环境」→「字体和颜色」里调默认字体偏小二是确认解决方案和项目的默认保存路径别让它默认丢在C:\Users\你的用户名\source\repos如果 C 盘紧张改到别的盘。3. 第一个 C 项目从空项目到跑通 Hello World3.1 创建空项目与添加源文件启动界面点「创建新项目」搜索框里输入「空项目」选「空项目」这个模板语言选 C平台选 Windows。点下一步给项目起个名字比如HelloVS位置选一个你记得住的路径点创建。创建完之后右侧「解决方案资源管理器」里会看到一个项目名下面有「头文件」「源文件」「资源文件」几个文件夹。右键「源文件」→「添加」→「新建项」在弹出的对话框里选「C 文件(.cpp)」给它起个名字比如main.cpp。注意后缀一定是.cpp如果你手动改成.c或者别的编译器处理方式会不一样新手容易在这里翻车。3.2 写代码与编译运行在main.cpp里写一段最基础的代码#include iostream int main() { std::cout Hello VS2019 std::endl; return 0; }这段代码的逻辑很直白引入iostream头文件拿到标准输入输出流对象std::cout在main函数里输出一行字符串然后返回 0 表示正常结束。std::endl是换行并刷新缓冲区写\n也行区别在于endl会强制刷新调试时更直观。写完之后顶部工具栏有个绿色的三角按钮旁边写着「本地 Windows 调试器」点它就会编译并运行。如果代码没问题会弹出一个控制台窗口显示Hello VS2019然后窗口可能一闪而过。想让它停住可以在return 0;前面加一句system(pause);或者用CtrlF5开始执行不调试这样窗口会停在「按任意键继续」。编译目标平台默认是 x86也就是 32 位。如果你的机器是 64 位想编译 64 位程序在工具栏那个下拉框里把 x86 改成 x64。这个选择影响的是生成的程序是 32 位还是 64 位跟你的操作系统位数不是一回事32 位程序在 64 位系统上照样能跑。3.3 关于万能头文件与标准兼容很多从竞赛或者某些教程过来的人习惯写#include bits/stdc.h这个在 GCC 里叫万能头文件一次引入几乎所有标准库。但 VS2019 的 MSVC 编译器不支持这个头文件直接写会报「无法打开源文件」。解决办法有两个一是老老实实按需引入比如用iostream就写#include iostream用vector就写#include vector二是自己建一个bits/stdc.h放到包含路径里但没必要按需引入更规范编译也更快。4. 高频报错排查字符集、不安全函数与 SDL 检查4.1 字符集报错多字节与 Unicode 的切换现象代码里用了char*或者某些 Windows API编译时报错提示「不能将参数从const char*转换为LPCWSTR」之类。原因是项目默认字符集是 Unicode很多老代码或者第三方库是按多字节写的。解决右键项目 →「属性」→「配置属性」→「高级」→「字符集」把「使用 Unicode 字符集」改成「使用多字节字符集」。改完点确定重新编译。这个设置是项目级别的每个项目都要单独改新建项目默认还是 Unicode。4.2 scanf 等函数报不安全三种处理方式现象写了scanf(%d, n);编译报错提示error C4996: scanf: This function or variable may be unsafe。这是 MSVC 的安全检查机制认为scanf不检查缓冲区边界容易溢出。处理方式有三种按推荐程度排第一种改用scanf_s。这是微软提供的安全版本用法基本一样但读字符串时要多传一个缓冲区大小参数。缺点是scanf_s不是标准 C换到 GCC 或者别的编译器上不认代码可移植性差。第二种在文件最顶部加宏定义屏蔽这个警告#define _CRT_SECURE_NO_WARNINGS #include stdio.h int main() { int n; scanf(%d, n); printf(%d\n, n); return 0; }_CRT_SECURE_NO_WARNINGS这个宏告诉编译器不要报这类不安全警告。注意它必须写在所有#include之前写在后面不生效。这种方式保留了标准scanf代码可移植是我平时最常用的做法。第三种在项目属性里关掉 SDL 检查。右键项目 →「属性」→「配置属性」→「C/C」→「常规」→「SDL 检查」改成「否」。SDL 是微软的一套安全开发生命周期检查关掉之后这类报错会少很多。但这是项目级设置换项目要重新改而且关掉 SDL 会同时关掉其他一些安全检查不太推荐作为首选。4.3 避坑与常见问题排查现象一新建项目后编译提示找不到iostream或stdio.h。原因安装时没勾「使用 C 的桌面开发」工作负载或者勾了但 Windows SDK 组件没装上。 解决打开 Visual Studio Installer点「修改」确认「使用 C 的桌面开发」是勾选状态右侧「安装详细信息」里确认「MSVC v142 生成工具」和「Windows 10 SDK」都在。缺哪个补哪个补完重启 VS。现象二改了字符集或 SDL 设置编译还是报同样的错。原因改的是 Debug 配置但当前编译的是 Release或者改的是 x86 平台当前选的是 x64。VS 的属性页是按「配置」和「平台」分开存的。 解决在属性页左上角的「配置」下拉里选「所有配置」「平台」选「所有平台」再改设置这样一次改完所有组合。改完确认一下当前工具栏选的配置和平台。现象三程序编译通过运行时报「找不到 xxx.dll」。原因项目依赖了某个动态库但运行时工作目录里没有这个 dll或者 PATH 里找不到。 解决把对应的 dll 复制到 exe 同目录或者在项目属性里把 dll 所在目录加到「调试」→「环境」的 PATH 里。如果是自己编译的库确认生成的是 Debug 还是 Release 版本Debug 程序配 Debug 库Release 配 Release混用会出各种奇怪问题。现象四想卸载 VS2019 重装结果装不上了。原因VS 卸载不干净注册表残留或者安装缓存损坏。 解决先用 Visual Studio Installer 里的卸载功能卸载卸载完重启。如果还是装不上用微软官方的InstallCleanup.exe工具清理它在 VS 安装目录下的Installer文件夹里。清理完再重装。所以强烈建议不要随便删 VS 的安装目录要卸载就走正规卸载流程。现象五代码里中文注释显示乱码。原因文件编码和 VS 默认编码不一致。VS 默认可能用 GB2312 或者 UTF-8 with BOM不同来源的文件编码不统一。 解决在「文件」→「高级保存选项」里把文件编码统一成「UTF-8 带签名」或者「GB2312」看团队规范。更省事的办法是在文件头加#pragma execution_character_set(utf-8)但这个是 MSVC 特有的。跨平台项目建议统一用 UTF-8。5. 进阶技巧离线安装包制作与编译加速5.1 用命令行制作离线安装包如果需要在没有网络的机器上装 VS2019或者给多台机器批量装可以提前把安装文件缓存下来。用管理员权限打开命令行进入你下载的vs_community.exe所在目录执行vs_community.exe --layout D:\VSLayout --lang zh-CN --add Microsoft.VisualStudio.Workload.NativeDesktop这条命令的意思是把社区版安装文件下载到D:\VSLayout目录语言选简体中文只下载「使用 C 的桌面开发」这个工作负载。--layout指定缓存目录--lang指定语言--add指定要包含的工作负载 ID。执行完会在目标目录生成一堆文件和文件夹把这个目录拷到离线机器上运行里面的vs_community.exe就能离线安装。工作负载 ID 可以按需替换比如Microsoft.VisualStudio.Workload.ManagedDesktop是 .NET 桌面开发Microsoft.VisualStudio.Workload.Python是 Python 开发。多个工作负载就写多个--add。这个方式适合给实验室、机房批量部署一次下载多次使用。5.2 编译加速的几个设置VS 默认的编译配置偏保守大项目编译慢是常态。有几个地方可以调第一开启多处理器编译。项目属性 →「C/C」→「常规」→「多处理器编译」改成「是(/MP)」。这会让编译器用多个核心并行编译源文件大项目提升明显。第二用好预编译头。VS 默认会生成pch.h和pch.cpp把不常改动的头文件比如标准库、第三方库头文件放进pch.h编译时这部分只编译一次。新建项目时如果选了「预编译头」模板默认就是配好的。如果项目里没用可以在属性里开启。第三Debug 和 Release 分开用。Debug 带完整调试信息不优化编译快但运行慢Release 开优化编译慢但运行快。日常写代码用 Debug测性能、发版本用 Release。切换就在工具栏那个下拉框里选。第四如果项目用了大量模板或者第三方库增量编译很重要。VS 默认支持增量编译只重编改动的文件。但如果改了头文件依赖它的源文件都会重编这是正常的。想减少这种连锁反应可以用前置声明代替头文件包含或者用 Pimpl 模式隔离实现细节。5.3 一个验证环境是否正常的小习惯装完 VS 之后我一般会做一套最小验证新建一个空项目写一个包含iostream、vector、string的 C 程序编译运行再写一个包含stdio.h、stdlib.h的 C 风格程序确认scanf和printf能用最后建一个 x64 配置重复上面两步。这套走完说明编译器、标准库、SDK、字符集、平台配置都没问题。从那以后我每次在新机器上装完 VS都会强制走一遍这个最小验证比直接开项目省心得多。希望帮到你。本文还有配套的精品资源点击获取
返回列表