VS2019 for C++ 环境安装与解惑
VS2019 for C++ 环境安装与解惑
写在前面
初学C++,相信很多同学在第一次敲键盘写程序时,都会选择在自己的电脑上安装一个课本推荐的Visual Studio(以下简称VS)。然而VS是一个支持多种编程语言、成熟但庞大的集成开发环境(IDE),我们该怎样在有着多种选择的的安装包中,正确选择自己所需要的配置呢?本期推送将为你打开VS的大门,让编程触手可及。
安装须知
-
编程要装什么软件?都有什么区别?
编程者们要先在
编辑器
上写出程序,再通过编译器。编译器
编译完,高级语言变为汇编语言,.h文件和.c文件变为.a文件,即汇编文件。汇编器
汇编完,生成.o文件,通过链接器
用链接库做链接,最终变成a.out文件(Linux中)和a.exe文件(Windows中)。即变成电脑能够识别的二进制文件。大功告成。但总归是有些麻烦,写一个程序要使用四个工具,有没有什么办法能让它们合到一起呢?
于是我们就有了
集成开发环境(IDE)
。集成开发环境,一般包括代码编辑器、编译器、调试器和图形用户界面工具。我们本期要讨论的VS就是IDE的一种,还有许多好用的C++IDE,比如Dev C++和Eclipse。
对于初学者来说,使用IDE,能让我们专注于编程语言和编程本身。
-
相对于其他工具,VS具有如下优点:
① 标准化程度相对较高;② 文档齐全,可脱机查看;③ 代码编辑器对关键字、预处理指令、头文件、函数调用等能提示补全,可静态语法查错、静态编译、类型推导等;④ 编译连接错误信息是中文,适合初学者;⑤ 调试功能强大。
但也有如下缺点:① 安装文件庞大,且安装过程较慢;② 直接打开源文件后不能编译或自动创建项目,要先创建项目再加入源文件。
开始安装
学校机房安装的一般都是VS2010或者VC++6.0。为了能够支持C++11的使用需求,兼顾大家的编程体验(下载花里胡哨的插件),在这里只讨论VS2019(个人版)的安装。
首先,我们去到VS官方网站,下载Community2019版本(个人版),因为专业版和企业版都很贵。
经过很长很长的时间,我们终于进入了这个页面:
如果你只是想在VS2019上写C++程序,这样选择基本就可以了。
如果你想更改安装位置,切记下图这三个安装位置不能放在一个文件夹内。
接下来就是漫长的下载安装过程了,请耐心等待,安装过程中不要断网。
安装完成后,我们打开VS2019,选择创建新项目
。
如果出现了下图所示的空项目
模板,就说明我们的安装告一段落,可以成功创建一个C++空项目了。
当然,凡事总有意外,如果你没有找到空项目
这个选项,可以随意选择一个模板先进入VS2019,再在【工具】——【获取工具和功能】的选项里面,看到你熟悉的选择工作负载的窗口。这时,选择正确的工作负载和组件就好啦。
VS管理项目的逻辑
考计算机二级的时候,有一种题目叫做程序设计题
。对于填空改错题,编译后没运行,只要正确,会给分的; 但是程序设计题,必须生成可执行文件.exe。换言之,只要没有运行你的程序设计题,就算程序对了也是白做。每年很多人都会因为这种情况而追悔莫及。
那为什么大家都不运行呢?
正说明大家对VS管理项目的逻辑不熟悉。
当你进入你所创建的空项目后,VS界面左边是解决方案资源管理器。一个解决方案可包含一个或多个项目。一个项目可包含一个或多个源文件(.cpp),并产生一个与项目同名的可执行程序(.exe)。
注意VS不能先打开源文件再启动构建,要求先创建或打开一个项目,再加入源文件,然后才能构建。建议先创建一个空项目并做配置,以后每次都先打开该项目,然后再添加或移除源文件。建立一个源文件模板也能提高效率。
我们平时都是基于自己创建的新项目来写程序、运行程序的。如果你直接双击打开.cpp文件,并且没有依赖于任何项目,是没办法编译的。这时会发现运行键是灰色的,按Ctrl+f5当然也不会有反应。
建议遇到这种情况直接关闭窗口,在同一个文件夹下找到.sln文件
,这正是你需要的解决方案文件。
使用中常见问题
-
我运行程序的黑窗口总是闪退,怎么办?
如果是首次创建项目,应设置项目属性为控制台交互,否则就要在return之前添加system(“pause”);
设置方法如下:
-
打开项目,选择菜单“项目”→“项目属性”;
-
选择“配置属性”→“链接器”→“系统”;
-
选择“子系统”,默认为空,点击“下拉选项”,选择“控制台(/SUBSYSTEM:CONSOLE)”,点击“确定”。
-
-
程序中scanf不能编译,出现C4996错误,怎么办?
由于微软在VS中不建议再使用C的传统库函数scanf,strcpy,sprintf等,所以直接使用这些库函数会提示C4996错误。
VS建议采用带_s的函数,如scanf_s、strcpy_s,但这些并不是标准C函数。第一种方法:点击“属性”,选择C/C++,找到SDL检测,将其改为否。
第二种方法:在代码中加入
1
2
3
// 二选一第三种方法:直接添加到预处理器中:
第四种方法:C/C++——代码生成——安全检查——改为禁用安全检查。
建议同学们在遇到问题时善用搜索,复制错误代码直接去CSDN寻找解决方案。