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)(SolutionDir)(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中只保留最基本的配置,以及源码。

总结

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

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

  1. VS2017 配置vlfeat

    VS2017 配置vlfeat 官网教程:http://www.vlfeat.org/vsexpress.html 下载vlfeat C代码版 http://www.vlfeat.org/downlo ...

  2. Keil5配置GCC编译器编译STM32工程

    Keil一般使用ARMCC编译MCU工程代码.偶然听说Keil也是支持内嵌GCC编译器的.于是尝试了网上博客所述的一些方法,最终找到了一篇博客 http://blog.csdn.net/lan1205 ...

  3. 创建maven项目生成WebRoot目录,web.xml文件,以及修改编译路径classess的解决办法,以及解决找不到或无法加载主类的问题。

    创建maven工程:首先File-->New-->Maven Project到下边界面: 点击Next到以下界面: 点击Next进入以下界面: 输入Group Id.Artiface Id ...

  4. VS2017设置DLL和LIB的输出目录

    VS2017设置DLL和LIB的输出目录 1.   dll 输出目录设置 工程点击右键–>配置属性–>常规–>输出目录 2.lib文件输出设置 工程点击右键–>配置属性–> ...

  5. java获取项目的部署目录结构_JAVA WEB项目目录结构以及web应用部署的根目录,编译路径和项目根目录的区别...

    本文链接:https://blog.csdn.net/l00149133/article/details/78984083 web应用部署的根目录,编译路径和项目的根目录有什么区别? 直接上例子: 你 ...

  6. 在VS平台下使用JAI_SDK库1———— 配置工程包含路径

    ** 在VS平台下使用JAI_SDK库1---- 配置工程包含路径 ** Using Jai SDK together with VS station 1. JAI SDK由两个API组成 a) Ja ...

  7. Visual Studio 2013或2015工程属性中包含目录和库目录的添加方法,附加依赖项,相对路径

    参考文章:包含目录.库目录.附加包含目录.附加库目录.附加依赖项之详解 https://blog.csdn.net/u012043391/article/details/54972127 参考文章:V ...

  8. VS2017配置PCL1.9(win10环境)

    由于实验需要用到点云数据,正好网上搜PCL点云库的时候看到PCL1.9出来了,就索性跟随时代的步伐直接在VS2017上安装PCL1.9试一下. 文章目录 VS2017下载与安装 PCL1.9.0下载与 ...

  9. VS2017配置OpenCV3.2+contrib3.2

    VS2017配置OpenCV3.2+contrib3.2 前言 opecv3.2+opencv_contrib3.2模块都编译配置了 在配置contrib之前,尝试直接配置OpeCV3.2-vc14, ...

  10. VS2017配置OpenCV4.0(Win10环境)

    之前一直在使用VS2015,虽然看到VS2017发布了,但由于手头事情比较多,就没有尝试使用,最近突然看到Opencv4.0-alpha发布了,新版本中加入了很多人工智能和机器学习的内容,所以决定系统 ...

最新文章

  1. [Spring 深度解析]第1章 Java基础
  2. PCA计算流程详解与实现(Python详细编码,全部测试正确,与sklearn完全一致,只有7行代码)
  3. 生成SLUTION MANAGER KEY 的ABAP程序
  4. 实时监控Cat之旅~对Get和Post进行封装,支持分布式消息树
  5. thymeleaf获取当前时间并格式化输出
  6. ng的link和comepile
  7. Java一对多关系示例
  8. 内存小还免费,Adobe Acrobat表示有危机
  9. Android之通过VideoView控件播放一个视频出现的问题以及我的解决办法
  10. CnBlogs博文demo演示技巧比较:jsfiddle完胜
  11. Open3d之对点云进行DBSCAN 聚类
  12. 打造IE6的position:fixed整理篇
  13. 区块链中心化业务必须基于中心化平台吗?
  14. Linux内核启动中驱动初始化过程
  15. hadoop 启动 报running beyond virtual memory错误的解决
  16. 荷兰国旗问题(C语言)
  17. html转化pug,pug转化html,sass转化scss
  18. 函数极限什么时候可以拆分
  19. linux中分隔符IFS
  20. 抖音小程序配置webview域名

热门文章

  1. 【经典】MIT人工智能实验室: 如何做研究?
  2. 【论文整理】NAACL2019+AAAI2019文本分类论文摘要
  3. 20项任务全面碾压BERT,CMU全新XLNet预训练模型屠榜(已开源)
  4. Kubernetes入门——k8s概念和架构
  5. git push 提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。的解决办法
  6. 博文视点大讲堂第33期
  7. 测试有道:微软测试技术心得 1
  8. 8.9 元学习网络结构讲解
  9. 5.8Reformer 意境级理解
  10. 关于简历:怎样才叫熟悉/精通Linux?