vs2017+配置工程的编译路径(输出目录和中间目录)

vs2017+配置工程的编译路径(输出目录和中间目录)

TIPS:以下使用visual C++中Windows桌面向导生成的解决方案为例。且演示的visual studio的版本为2017,即visual studio 2017。

效果图

一、说明默认的工程配置编译路径

TIPS:我们在解决方案内新建两个项目。

效果图

其中,两个项目project1和project2的编译路径,即输出目录和中间目录均是默认配置。(项目(鼠标右键)→属性→配置属性→常规

效果图
效果图

配置:所有配置意味着包括debug和release版本。编译平台为x64,即64位操作系统。

$(SolutionDir):解决方案名,即.sln所在路径

$(Platform):解决方案平台名称,如x86、x64

$(Configuration):当前的编译配置名称,如Release、Debug

$(ProjectName):当前工程(项目)名称,如示例中的project1,project2

补充)我们可以在:项目(鼠标右键)→属性→配置属性→常规→输出目录(点击下拉箭头)→编辑→宏中看到相应名称和值的一一对应关系。

然后我们将两个项目均运行编译,打开文件所在路径。

效果图
效果图

我们发现解决方案Project1中的文件生成结构如上所述。

我们在回想我们之前看到的项目默认配置路径。

默认情况下,跟project1、project2两个项目同级生成的debug是project1和project2的输出目录,即与.sln文件同级目录。

效果图

TIPS:解决方案平台默认是x64。所以默认配置情况下$(Platform)的作用透明。

project1、project2的中间目录,通俗的理解就是日志信息,每次编译项目都会增加中间目录所占大小。在默认情况下,中间目录生成路径会在每个项目中均有生成。

效果图
效果图
效果图
效果图

总结

  这样的结果就会造成其中间目录和输出目录对源码的干扰性很大,当我们需要对源码进行打包发送给其他伙伴、同事的时候,我们本来只有几KB的源码,由于我们的工程中包含输出目录和中间目录使得我们的工程变成了几百MB,这样是非常不友好的。接下来,讲述如何通过手动配置工程编译路径避免这种情况的发生。

二、手动配置编译路径

此处:仍然使用visual C++中Windows桌面向导生成的解决方案为例。且演示的visual studio的版本为2017,即visual studio 2017。

先在解决方案project1中创建两个项目,分别是project1、project2,同上。

效果图

但是其输出目录和中间目录,我们选择在x64平台复制其输出目录路径。
效果图

$(SolutionDir)$(Platform)\$(Configuration)\

然后将平台切换到所有平台。(这样做意味着不管是x64或者x86平台我们都可进行指定目录生成。

效果图
将复制的路径粘贴到所有平台的输出目录中。同时在$(SolutionDir)后面加入…/bin/

在中间目录同样粘贴:$(SolutionDir)$(Platform)$(Configuration)\,同时在$(SolutionDir)后面加入…/temp/,再加入目标文件名:$(ProjectName)\。

效果图

紧接着,点击确定即可。

我们将两个项目进行编译运行,打开文件所在路径。

效果图
效果图

我们发现经过我们手动配置编译路径,跟解决方案Project1同级的目录下生成了bin、temp目录。

bin目录

效果图

Win32意味着我们编译的平台是32位操作系统,对应我们手动配置的$(Platform)。

效果图

Debug意味着我们的配置是Debug模式。对应我们手动配置的$(Configuration)。

效果图

Debug路径下对应的就是我们的输出目录,其中包括project1、project2项目在debug模式下生成的exe文件及附带文件。

temp目录

效果图

Win32意味着我们编译的平台是32位操作系统,对应我们手动配置的$(Platform)。

效果图

Debug意味着我们的配置是Debug模式。对应我们手动配置的$(Configuration)。

效果图

Project1、Project2就是两个项目生成的中间目录,通俗的说就是项目对应的日志文件信息。对应我们手动配置的$(ProjectName)。

效果图
效果图

解决方案目录

我们再打开我们的解决方案目录。

效果图

发现只有两个项目。

效果图
效果图

其中项目project1、project2中只保留最基本的配置,以及源码。

总结

  我们应当避免其他文件(如输出目录、中间目录等)对程序源码的干扰,为了保证源码管理整洁干净,我们务必手动配置编译输出路径。

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ufgnix0802

总结不易,谢谢大家的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值