VS默认的文件存放非常乱,以一个helloworld程序为例:
最开始创建好项目,注意一个解决方案下可以有多个项目
其文件目录还是很干净的:
解决方案(Solution)对应的文件夹:
项目(HelloWorld)对应的文件夹
但是当我们通过不同平台编译文件后,
全来一遍,一共4种不同方式后
文件就会很乱:
其中Debug和Release都是指x86下的,而x64下还分为Debug和Release
这明显是很不符合人的直觉的~
解决方案(Solution)对应的文件夹,这里多出来的文件是项目产生的可执行文件
项目(HelloWorld)对应的文件夹,这里多出来的文件是生成的中间、临时文件,并且它们的分布很凌乱
所以我们需要为其进行配置,让它的文件输出更加合理,也方便我们进行项目管理~
我们希望,所有的可执行文件都在bin目录下,所有的中间、临时文件都在temp目录下(也可以自定义)
首先选择项目对应的属性页,将配置选择为所有配置,平台选择为所有平台
注意:每一共项目都要进行这样的配置,直接复制粘贴就行~
我们要配置的就是如下两项
将其分别设置为如下即可
$(SolutionDir)./bin/$(Platform)/$(Configuration)\
$(SolutionDir)./temp/$(Platform)/$(Configuration)/$(ProjectName)\
这里解释下:
SolutionDir是指解决方案所在文件夹
Platform是指不同的平台(Win32\x64)
Configuration是指可执行文件的位数(x86、x64)
ProjectName是指项目名称
进行设置后,我们接着用四种方式进行编译
可以看到,目录很清晰。
因为C\C++是源码级的二进制兼容,所有我们提供文件时,实际上只需要将对应的项目打包即可,bin和temp都可以不需要(如果只要可执行文件就是打包bin),这极大的提高了项目的可管理性。
这里注意,上面的写法不是唯一的,之所以在temp中加入了ProjectName,是为了避免中间文件产生冲突,而bin也可以加上ProjectName,但因为同一个解决方案下的不同项目往往依赖于同样的dll,所以一般我们把可执行程序放在一起~
bin文件中的内容如下:
目录很清晰
temp目录下的内容如下:
可以看到不同的项目有不同的文件夹
接着我们再创建一个项目
注意要给这个项目重新配置一下,复制粘贴即可
不同项目在同一个解决方案下
接着用4种方式编译。
可以看到可执行文件都在一个文件夹下
而中间、临时文件,每个项目有不同的文件夹
完结~