一、新建一个解决方案,解决方案里面有一个项目/工程
1、首先新建一个项目:
进入文件中,可以看到:
(1)解决方案文件夹
(2)进入解决方案文件夹后:
解决方案与工程
在这之前先了解一个概念:解决方案与项目/(工程)。
解决方案(Solution):一个大型项目的整体的工作环境;
项目(Project)/工程:一个解决方案下的一个子项目/工程;
在VS中,一个Solution可以有一个或多个Project。在我们创建一个工程时,如果没有指定Solution,VS会帮我们创建一个与工程名相同的Solution,这时一个Solution里只有一个Project。当然也可以指定项目的名字,在我们的Fangan的文件目录结构中Fangan文件夹下有一个TestDemo文件夹,第一个就是整个Solution的目录,第二个才是Project的目录。
2、项目相关的文件:以项目TestDemo文件夹里面的内容为例,阐释一下各个文件的含义:
1、TestDemo.vcxproj.usr用户相关的一些配制。
2、TestDemo.vcxproj.filters 文件过虑器,上图“工程结构”中各个文件的组织和编排都是定义在这个文件中的。如果由于某种特殊的原因(如系统或VS突然崩溃)导致你打开工程时文件的组织结构是乱的,100%就是这个文件的原因。
3、TestDemo.vcxproj 记录工程(Project)相关的属性配制。
3、解决方案相关的文件: Fangan.sln
打开解决方案(Solution)时的临时文件,这个文件只有你的解决方案在VS打开的状态才会有,工程一关闭文件就被删除了。
上面这些文件中有几个比较重要的一定不能删的文件是:
TestProject.sln、TestProject.vcxproj、TestProject.vcxproj.filters
参考:带你玩转Visual Studio——带你新建一个工程
2、项目新建之后,开始编程,然后开始运行程序:
在Debug X86下,点击“生成解决方案”;
1、解决方案多的文件夹
在解决方案目录下会多出 Debug 文件夹,如果是Release模式下,同样多出Release 文件夹。
打开Debug文件夹,存放的是最终生成的结果exe
2、项目中多的文件夹
Debug文件夹仅仅存放中间编译结果 .obj等,没有exe等文件;如果使用Release编译,则会增加Release文件夹。
二、设置项目/工程目录
对应路径:
1、项目路径 $(ProjectDir)
2、Debug或Release配置文件夹 $(Configuration)
3、项目名 $(ProjectName)
如果修改项目名字,会发生哪些变化?
如下:
两个变化:
变化1:
变化2:
总结:
4、输出目录 $(SolutionDir)$(Configuration)\
将其变为:$(SolutionDir)$(Configuration)\1,然后“重新生成解决方案”,发现变化如下:
增加一个子目录!
.vcxproj所在路径为程序当前所在路径,使用../返回上层目录
参考链接:
VS2013附加包含目录,添加相对路径时,当前目录并不是项目路径
最好、最全的一个链接: