- 一、解决方案文件夹介绍
- 二、Visual Studio项目生成步骤
- 2.1 分析
- 2.2 编译
- 2.3 链接
- 2.4 生成
Visual Studio2017创建解决方案: 文件–>新建–>项目 假设新建一个项目Project1,解决方案起名Solution1,如图所示。 此时生成的最外层目录为Solution1代表整个解决方案的内容都在这个文件夹内。(项目包含在解决方案内)
在这个Solution1文件夹内包含有Solution1.sln的解决方案配置文件和一个Project1文件夹,Project1文件夹代表整个项目的所有内容都在这个文件夹内,这个文件夹内含有Project1.vcxproj的项目配置文件和.h头文件以及.cpp源文件。 如果在Solution1解决方案下再建立一个新项目名为Project2,则会在Solution1文件夹下生成一个Project2文件夹存放Project2项目的所有内容。如图所示:
由上面可以总结出,管理器(解决方案或项目)都会对应一个总的文件夹,比如,解决方案是个管理器,它的文件夹下含有.sln配置文件以及子管理器Project1项目和子管理器Project2项目。
当编译生成一个C++项目时,如编译运行下列代码, 则解决方案总文件夹下就只包含解决方案配置文件.sln,一个项目总文件夹Project1,一个Debug文件夹以及一个.vs隐藏文件夹(共四个,其中Debug文件夹中存放最终生成的结果exe,
而项目总文件夹Project1下包含C++源文件、头文件、项目配置文件Project1.vcxproj和一个Debug文件夹。 此处的Debug文件夹仅仅存放中间编译结果obj,不存放exe和dll之类的东西,打开此处的Debug文件夹,可以看到主要生成了三类文件:
- 日志文件 Project1.tlog和Project1.log为日志文件;
- obj文件 项目中的每个cpp文件都会生成对应的obj文件;
- idb文件 这是最小生成使用的文件,保存之前的编译结果,可以极大缩短编译时间。
项目的生成大致分成四步:分析、编译、链接、生成。
2.1 分析对代码的语法进行一次检查,主要是检查语法错误和一些提醒,这个结果可以在“错误列表”里面查看:
没有语法错误后,Visual Studio把你项目里所有的cpp文件都调用编译器生成一个.obj文件。
略 (当出现错误代码为LNK时,则表示链接出现错误)
2.4 生成将链接后的结果以生成文件的格式写到该格式的文件里面(.exe文件)。 只需要把.exe文件拷贝出去就可以运行自己的程序或者发给别人运行了,其他的文件都不是必须的。当然这个Debug文件夹下的exe只是调试程序,这些程序有大量对vs的依赖。所以在没有安装对应版本的VS的Windows系统里,这个程序是不能运行的。
完!
下一篇文章:初识C++与Visual Studio(5)——Visual Studio2017路径中的宏与$