资讯动态

VS2019安装配置与C++图形开发实战:从工作负载到freeglut跑通

发布时间:2026/9/18 12:22:44 来源:尧图企业网站定制
说到VS2019我猜不少人和我一样是从VS2015、VS2017一路用上来的。虽然现在VS2022已经满天飞新项目和新教程推得也多但VS2019这套IDE在很多高校的计算机课程、老项目的维护、还有OpenGL/CUDA这类的教学环境里仍然是主力。原因很简单它比VS2015/2017对C标准支持得完整CMake集成更顺手又不像VS2022那样强制64位和更新的平台工具链很多老代码切过去几乎零成本。这篇文章我不会跟你念官方文档就把自己从下载、安装、配置到实际跑一个freeglut图形项目的过程完整捋一遍里面有我当时踩过的坑和摸索出的经验。适合刚入门的同学也适合被安装过程各种选项绕晕的人参考。1. 装之前先把路线定好版本、下载渠道、电脑要求1.1 先想清楚你要哪个版本VS2019官方分三个大版本Community社区版、Professional专业版、Enterprise企业版。很多人一听到企业版就觉得功能全所以选了它其实没必要。个人学习、写作业、做开源项目Community完全够用功能上几乎不缩水而且是免费使用的。只有你在一个超过5人以上的公司里正经开发商业软件时才需要考虑Professional或Enterprise的授权。我的建议是如果你是学生或者个人开发者直接下Community如果是公司正规项目先让公司法务确认订阅类型不要自己悄悄装个企业版授权上有风险。1.2 从哪里下载最稳妥VS2019的下载入口和VS2022不太一样微软官网上现在主推的是VS2022VS2019的下载页藏得比较深。最靠谱的方式是直接打开搜索引擎搜Visual Studio 2019 下载 旧版本进入Microsoft Learn页面后选择Visual Studio 2019版本就能看到各个版本的下载按钮。下载下来的其实是一个几MB的安装引导程序文件名一般长这样vs_community__xxx.exe、vs_professional__xxx.exe、vs_enterprise__xxx.exe。这个引导程序本身很小它会根据你在界面上勾选的组件再去微软服务器拉取真正的安装文件。这里有一条很重要的经验下载引导程序时认清文件名里的版本关键字别拿VS2022的引导程序凑合。有些第三方下载站会把VS2022的安装器改个名字冒充VS2019装到一半你会发现界面根本不是2019。1.3 电脑配置要什么水平VS2019的要求放在现在来看相当亲民Windows 10 64位系统、4GB内存起步、系统盘剩余空间留20GB以上。如果你想装Android开发或者通用的移动开发组件建议内存直接上16GB不然等你同时开着IDE、模拟器、浏览器查资料的时候电脑会卡成PPT。我自己在装的时候吃了个亏默认安装路径在C盘我又同时勾了使用C的桌面开发通用Windows平台开发和数据存储和处理装完一看C盘少了将近30GB。所以建议装之前看清楚这台电脑是不是只有一块硬盘C盘还剩多少如果条件允许我强烈建议把安装目录改到非系统盘比如D:\Program Files\Microsoft Visual Studio\2019\Community。2. 安装过程拆开看工作负载、组件、目录选择2.1 安装引导程序里的核心工作负载当时安装VS2019的时候最让我困惑的界面是工作负载Workloads那一页。一排排勾选框每个名字都很长.NET 桌面开发使用C的桌面开发ASP.NET和Web开发数据存储和处理等等。很多人到这里就不知道怎么勾干脆全选最后装了一堆用不上的东西。工作负载你可以理解成按需打包的功能集合。它把编译工具链、SDK、模板、调试器提前分好组你只需要勾自己常用的场景即可。比如你的需求该勾选的工作负载写C/C程序、做OpenGL练习使用C的桌面开发用C#写Windows桌面程序.NET 桌面开发用Python写脚本Python开发开发网站后端ASP.NET 和 Web 开发Unity游戏开发使用 Unity 的游戏开发当时我需要C和Python两边都用就勾了使用C的桌面开发和Python开发。在右侧的安装详细信息面板里还能展开子选项比如C桌面开发下面可以进一步选Windows 10 SDK的版本、MSVC v142工具集等。不是特殊情况的话子选项保持默认就行不熟悉的人别乱动默认组合已经经过微软测试。2.2 安装位置和组件缓存安装位置页面有几个选项卡Visual Studio IDE下载缓存共享组件、工具和SDK。这里有个容易忽略的点Visual Studio IDE是主程序安装位置。下载缓存是安装程序从网络拉下来的安装包存放位置。如果选在C盘安装完不会自动清理长时间会占不少空间。我个人的做法是把下载缓存和Visual Studio IDE都放到非系统盘。真正占空间的大户是共享组件、工具和SDK这个目录不要乱改很多其他版本的Visual Studio和Windows SDK会共用它万一改错了可能导致多个IDE都认不到SDK路径。全部的选项设置好点安装按钮安装过程就开始了。这一过程耗时取决于你勾选了多大的组件和你网速C桌面开发全量大概是10GB左右用百兆宽带一般二三十分钟能完成。期间电脑会反复重启不会但会多次提示需要关闭其他应用程序先把浏览器、游戏之类的关掉比较好。下载速度如果特别慢可以考虑后面讲的离线包方案。2.3 安装卡住怎么办安装过程中最常遇到的情况是进度条长时间不动。这不一定代表卡死很多组件会在后台静默解压或者等待Windows服务响应。建议先等20分钟如果进度条始终没有变化就关掉安装程序重新打开它。重新打开后不用从头下载已经下载的部分会从缓存继续。我曾经遇到过一次安装Windows 10 SDK的时候一直失败后来发现是系统里残留了旧版Windows Software Development Kit导致冲突。解决方法是先到控制面板-程序和功能里把名字带Windows SDK的旧组件全部卸载干净再重新运行安装器。这类问题在Win11上装VS2019更容易出现不过一般卸载旧SDK后就能解决。3. 第一次启动后的初始化配置账号、主题、快捷键3.1 启动时要不要登录安装完成后第一次打开VS2019会进入一个登录界面让你用微软账号登录。很多人觉得必须登录才能用其实Community版可以跳过登录直接用。启动界面上有个以后再说的链接点了就能直接进IDE。但如果你后面要用NuGet插件、要同步设置到多台电脑、或者想激活Professional/Enterprise试用版那还是登录微软账号方便。我自己的习惯是个人电脑上登录原因是可以同步编辑器主题、字体、快捷键这些设置实验室的公用电脑上不登录省得别人一不小心改了设置。3.2 主题颜色、字体和快捷键方案进去之后第一眼是开发设置选择界面常见的是Visual CWeb开发常规等几个选项。这个东西可以后改但它会预设一套窗口布局和快捷键配置。比如选Visual C调试快捷键会变成F5运行、F10逐过程和很多教程里的描述一致。所以如果教程里说按F10逐过程但你的机器上没反应多半就是一开始选了别的开发设置。主题的话我推荐深色长期盯代码眼睛舒服一些。设置入口在工具-选项-环境-常规颜色主题选深色。字体大小建议Consolas 14以上分辨率高的屏用16也不过分看代码不费劲。做完这些再改几个用得上但容易被人忽视的选项环境-启动把启动时打开的页面改成空环境这样每次打开上次的项目会自动加载不用手忙脚乱关一堆欢迎页。文本编辑器-C/C-代码样式-格式设置默认的缩进是4空格如果你想保持自己的代码风格可以在这调保存时会自动生效。环境-键盘如果你以前用惯了VS Code或JetBrains系快捷键可以把映射方案改成对应的快捷键方案。这个功能藏在应用以下其他键盘映射方案里。第一次启动用不了太久真正花时间的是在上面提到的C开发设置上。我见过不少同学直接点默认常规结果后面跑OpenGL练习时调试快捷键完全不顺手。4. C场景实战从新建项目到跑通freeglut这个经典坑4.1 新建C控制台项目VS2019写C平时最常用的是控制台应用项目。文件-新建-项目在搜索框输入C选择控制台应用。这里注意一下名称和位置不要带中文和空格否则一些老的C/C库链接时会有路径解析问题。新建完程序之后VS会生成一个Hello World的.cpp文件先在本地跑通一次确认编译链正常。点绿色的小三角形按钮或者按CtrlF5直接运行。如果编译顺利说明IDE和编译工具链没问题。4.2 freeglut到底是个啥为什么配置麻烦如果你在学OpenGL教程里十有八九会提到freeglut。它是早期OpenGL工具库GLUT的开源替代品用来创建窗口、处理键盘鼠标事件。VS2019本身不带freeglut也没有NuGet包一键安装所以新手第一次配置很容易在头文件路径、库路径、附加依赖项上栽跟头。我自己在配的时候绕了很大一圈。后来总结下来其实只需要三步放头文件、放库文件、放DLL。第一步去官网下载freeglut的二进制包。下载的时候注意选freeglut 3.x版本且对应VS2019的x64这里如果下载的是32位版本而VS项目是64位链接会报LNK2019错误。下载完解压里面会有include、lib、bin三个文件夹。第二步把include\GL里的头文件复制到VS自带的include目录通常是安装目录\VC\Tools\MSVC\14.29.30133\include\GL。这里为什么会容易出错因为VS2019升级过几次MSVC后面的版本号会变你得先找到准确路径别拿旧路径硬贴。如果你不喜欢把第三方库混进VS自带的include目录可以在项目属性里单独指定。右键项目-属性-VC目录-包含目录添加一个你自己整理的目录比如D:\thirdparty\freeglut\include。这样更干净也方便以后升级库版本。第三步是配置链接器。项目属性-链接器-输入-附加依赖项添加freeglut.lib opengl32.lib glu32.lib然后在VC目录-库目录里填上lib文件夹的路径。这一步漏掉任何一个编译时都可能报找不到opengl32.lib或者freeglut.lib的错误。最后把freeglut.dll复制到C:\Windows\System32或者直接放在项目生成的Debug/Release目录里。如果不放运行程序时会弹窗提示找不到freeglut.dll。4.3 写一个最简单的测试程序配置完新建一个.cpp粘贴下面这段代码能弹出一个橙色窗口就算成功#include GL/freeglut.h void display() { glClearColor(1.0f, 0.6f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glFlush(); } int main(int argc, char** argv) { glutInit(argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(800, 600); glutCreateWindow(freeglut in VS2019); glutDisplayFunc(display); glutMainLoop(); return 0; }这段代码不需要额外的OpenGL扩展库只要freeglut配好就能跑。如果编译链接成功但运行时报错多半是DLL没配置好如果链接时报LNK2019 unresolved external symbol先检查附加依赖项有没有填对如果#include下面划红波浪线先检查头文件路径。很多文章会让读者去把整个freeglut源码用CMake自己编译一遍其实没必要。对绝大多数学习场景来说直接用官网预编译的二进制包就够了。自己编译源码虽然能加深理解但CMake、编译工具链、运行时库设置任何一个不对都会冒出一堆奇怪错误很容易打击信心。4.4 编译器和平台工具集带来的常见报错VS2019默认使用v142平台工具集。freeglut官方二进制包如果标注是built with Visual Studio 2019那兼容性通常没有大问题。但有些旧版freeglut是用VS2015编译的它依赖的运行时库和VS2019不一样你可能会遇到这种错误error LNK2038: mismatch detected for RuntimeLibrary: value MD_DynamicRelease doesnt match value MT_StaticRelease解决办法是在项目属性- C/C-代码生成-运行库把多线程调试DLL(/MDd)或多线程DLL(/MD)改成和freeglut库一致的选项。改完记得重新编译整个项目。这种问题在配置C/C库的时候特别常见不只是freeglut以后配SDL2、glfw、OpenCV也会碰到。记住这句话你链接的那个库是怎么编译的你的项目就得用对应的运行时库选项不然就是没完没了的LNK2038和LNK2019。5. 离线安装包怎么做、怎么用5.1 为什么要离线安装学校机房、公司内网、宿舍校园网这些环境网络条件往往不太稳定或者根本连不上公网。VS2019这种在线安装方式就可能装到一半断线然后反复重试失败。我自己就遇到过在机房给十几台电脑装VS2019每台都走在线安装结果运维老师把带宽跑满了大家全卡在下载阶段。正确的做法是提前在一台能联网的电脑上用VS引导程序生成一个完整的离线安装包然后再拿到目标机器上离线安装。5.2 用命令行生成布局目录VS2019的引导程序支持--layout参数用来把安装文件预先下载到本地目录。比如我为了装C开发环境和Python开发环境用了下面这样的命令vs_community.exe --layout D:\vs2019offline --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Workload.Python --includeRecommended --lang zh-CN解释一下这几个参数--layout指定离线文件输出目录。--add要下载的工作负载上面写的是C桌面开发和Python开发。--includeRecommended把当前工作负载下推荐的组件也一起下载不然很多推荐组件只在在线安装时默认启用离线安装时可能缺工具。--lang指定语言包zh-CN是简体中文。这个下载过程会比在线安装还久因为要把所有安装文件完整拉下来占用空间也比实际安装后更大。我当时下完C桌面开发这一个大项文件就接近8GB。所以生成离线包时别图省事把所有工作负载都打进去按需下载即可。5.3 离线安装执行离线包生成好的目录里还是那几个vs_community.exe之类的安装器。把整个目录拷到目标机器上不需要联网直接双击该目录下的vs_community.exe然后选择你要安装的组件。安装程序会优先使用目录里的本地文件不会再去联网下载。如果目标机器上不想在安装界面手动选组件也可以用命令行参数一次性装完vs_community.exe --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended上面这条命令会安装之前下载好的C桌面开发工作负载。你没下载过的组件即使命令行里写了也会因为本地没有安装文件而失败。这里还要提醒一个细节离线目录路径尽量不要带空格和中文。有些旧版本的引导程序对带特殊字符的路径处理得不好安装过程中会报找不到文件。如果你目录路径里实在避不开中文建议改用8.3短路径或者直接把目录放到盘符根目录下比如D:\vs2019offline。6. 授权、激活和几个高频故障6.1 产品密钥和授权机制VS2019的产品密钥问题其实是搜索量很大但我建议所有新手都先别关心的东西。原因很简单Community版本来就免费不需要也不应该去找什么激活码。你自己学习、做开源项目、参加比赛用Community版完全合法不用担心中间弹窗提示许可证过期。Professional和Enterprise版本通常由公司购买订阅后登录账号自动激活。如果你是在校学生还可以通过学校的微软教育订阅免费使用Enterprise版。正规渠道里有一种试用版官方一般提供30天试用试用期内功能和完整版一样到期后需要续期或购买订阅。不建议去网上搜所谓的永久密钥。这类密钥要么早就失效要么来源不明万一组织用的电脑上出了许可证问题带来的麻烦远大于省下的那点钱。我见过一个同学装完企业版后没激活每次启动都弹红色错误框最后还卸载重装白白浪费一个下午其实一开始选Community就没这些事。6.2 双击安装包没反应这算是VS2019安装里遇到最多的问题之一。双击引导程序后屏幕上什么都没弹出来。大多数情况是因为之前残留的安装进程没退干净或者杀毒软件把安装器拦截了。解决办法打开任务管理器结束所有vs_installer*.exe相关的进程。暂时关闭第三方杀毒软件。右键安装包选择以管理员身份运行。如果还是没反应可以试试用命令行安装器加上/quiet参数静默运行它会跳过所有界面直接安装默认组件或者用/log参数生成日志方便排查问题。6.3 安装完成后VS2019打不开或者闪退安装完双击VS2019图标欢迎页闪一下就没了这种问题多半是扩展插件冲突。VS2019的第三方扩展管理比VS2022差很多如果装过某个不兼容的扩展比如旧版的Visual Assist很容易导致启动崩溃。排查的方法是按住Shift键不放的同时双击VS2019图标VS会以安全模式启动第三方扩展会被临时禁用。如果能正常启动就去扩展-管理扩展里把有问题的扩展卸载掉。还有一种是显卡驱动问题。VS2019的硬件加速在某些集显机器上会异常界面出现明显卡顿或者花屏。解决方案是工具-选项-环境-常规取消勾选基于客户端性能自动调整视觉体验并且把视觉效果改成关闭所有增强功能。这不影响写代码只是牺牲一点观感换流畅。6.4 NuGet包管理器卡死VS2019的NuGet在首次加载时需要联网下载源信息。如果在离线环境或者网络差的情况下打开项目NuGet界面会一直转圈。这时候不用急着杀进程可以先把包源设置里的远程源全部去掉改成本地源或者把自动检查包更新关掉。入口在工具-选项-NuGet包管理器-源把不需要的nuget.org源暂时取消勾选等网络正常了再打开。7. 我在实际使用中的几个体会装了这么多年VS2019最想说的一句话是别被安装界面和无穷无尽的配置项吓到。这个IDE真正的复杂度不在安装而在后续你不断装第三方库、换工具链、调环境变量的过程里。不要指望一次安装就万事大吉装freeglut这类库时多报几个链接错误太正常了。平时写C/C练习时建议开解决方案资源管理器里的显示所有文件多关注项目目录下.vcxproj文件的变化。很多配置问题比如包含目录路径被写死、附加依赖项被清空都是因为手动改VS界面后.vcxproj文件被改坏了这时候用文本编辑器打开它看一遍往往比乱试配置项更快找到问题。最后分享一个小技巧VS2019的工具-导入和导出设置可以把当前IDE布局和配置导出成.vssettings文件。我每配好一台开发机都会导出一份放到网盘或者Git仓库里。下次换电脑或者实验室机器被重装导入一下就能回到熟悉的环境不用再重新折腾一遍字体、快捷键和窗口布局。这个习惯价值很高谁用谁知道。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价