VS(visual studio)C++ console项目目录和其属性(送给小小白白),看懂VS目录。

时间:2024-04-14 14:19:57

1.解决方案与项目:

你在VS新建的东西,在vs里面不叫作“项目”,叫做“解决方案(solution)”。一个解决方案(solution)里面可以有多个项目(project)。

 

2.解决方案目录:

VS(visual studio)C++ console项目目录和其属性(送给小小白白),看懂VS目录。

如果你这个解决方案有很多项目,那么你就不止一个项目文件,应当有多个项目文件。

一个项目文件里面也是和解决方案相似的结构,也有debug等输出目录,因为一个项目可以被单独编译。

在最外面的debug目录是存放整个解决方案一起编译出来的exe等的文件。

一个项目的目录:

VS(visual studio)C++ console项目目录和其属性(送给小小白白),看懂VS目录。

所以,虽然你在右侧资源管理器里看到文件被分开的很好,但实际上vs就是堆在了一起。

VS(visual studio)C++ console项目目录和其属性(送给小小白白),看懂VS目录。

 

3.解决方案的属性和项目的属性:

每个项目有自己项目的属性,整个解决方案也有自己的属性。

VS(visual studio)C++ console项目目录和其属性(送给小小白白),看懂VS目录。

 

4.单个项目属性的宏值:

下面讨论单个项目的属性。右击打开后,你发现许多宏值。

VS(visual studio)C++ console项目目录和其属性(送给小小白白),看懂VS目录。

上图中,

“输出目录”    意思你生成exe等等文件的目录,本身对应的宏是$(Outdir);

“中间目录”   意思是单个项目的输出目录(里面只放链接文件等),本身对应的宏是$(IntDir);

“调试”选项中的“工作目录”   意思是 consoleC++的黑框框运行后的默认的目录,如果它是空的,那默认是项目结构文件(.sln文件)所在的地方,提醒一句,如果你用的simulation模式,那么显然你的工作目录要调成OutDir。

 

$(SolutionDir) 顾名思义,就是解决方案目录,也就是.sln那个架构文件所在的目录

$(Configuration)是你运行、调试那一栏的配置名,如图:

VS(visual studio)C++ console项目目录和其属性(送给小小白白),看懂VS目录。

你这里点了什么,configuration的名字就是什么,有release、debug、simulation等。

 

$(OutDir),顾名思义,就是输出目录。注意,在上面的图中,你的输出目录已经有值了,就是$(SolutionDir)$(Configuration)。

$(IntDir),就是中间目录(或者翻译成内部目录)。注意,在上面的图中,你的中间目录已经有值了,就是$(Configuration)。

VS(visual studio)C++ console项目目录和其属性(送给小小白白),看懂VS目录。

 

$(TargetDir) 意思是解决方案生成的那个exe所在的目录。

 

5.目录和属性相互对应一下

你所有的单个项目的exe等文件,集合成一个,放到了解决方案目录的debug(当然或者是release、simulation等)下面——符合$(OutDir)=$(SolutionDir)$(Configuration);

你单个项目的链接文件(.obj文件)、log文件等,都在你单个项目的debug里面——符合$(IntDir)=$(Configuration);