在实际的企业项目,一个解决方案里面由几个项目组成:产生静态或者动态链接库的项目、测试用例、产生执行文件的项目、当然还有一些开源的第三方库等。此时,我们需要对解决方案作一定的配置,使得解决方案结构清晰、层次分明,也便于项目维护和多人协作。

一、VS中项目设置中使用的宏:

  SolutionDir --- 解决方案目录

  ProjectDir  ---  项目目录

  ProjectName  ---  项目名字

  ConfigurationName   ---   置名字,通常是Debug或者Release

  IntDir   ---   编译器使用的中间目录,产出obj文件

  OutDir   ---   链接器使用的输出目录

  TargetDir目标输出文件所在的目录

  TargetExt目标输出的扩展名

  TargetFileName目标输出文件名,包括扩展名

  TargetName目标输出名,不包括扩展名

  TargetPath目标输出文件的全路径名

二、下面是文件目录(例子)

Bin:程序文件(库文件和可执行文件等)

Doc:项目文档(需求分析文档等)

Include:库的头文件

Lib:解决方案中生成的库

Tmp:编译连接生成的中间临时文件(Complie、Link)

Vee:解决方案的源代码项目目录(库项目、可执行、第三方库)

三、具体宏配置

在配置项目属性的时候选择所有配置,这样不用Debug和Release都单独去配置。下面是详细配置

1--常规

输出目录:$(SolutionDir)..\Tmp\Link\$(ProjectName)\$(ConfigurationName)

中间目录:$(SolutionDir)..\Tmp\Compile\$(ProjectName)\$(ConfigurationName)

2--调试

命令:$(SolutionDir)..\Bin\$(ConfigurationName)\$(TargetFileName)

工作目录:$(SolutionDir)..\Bin\$(ConfigurationName)

3--H文件目录:项目——配置属性——C/C++——常规

在“附加包含目录”中加入H文件所在的文件夹$(SolutionDir)..\Include

--LIB目录:“项目——配置属性——链接器——常规”,

在“附加库目录”中加入LIB所在目录 "$(SolutionDir)..\Lib\$(ConfigurationName)

然后“链接器”中找到“输入”,在“附加依赖项”中加入VeSkin.lib

或用

#pragma comment(lib," VeSkin.lib")

4--连接器--常规

输出文件:$(OutDir)\$(ProjectName).dll

--连接器--高级

导入库:$(TargetDir)$(TargetName).lib

5--生成后事件:

copy $(TargetPath) $(SolutionDir)..\Bin\$(ConfigurationName)\;

copy $(TargetDir)$(TargetName).lib $(SolutionDir)..\Bin\$(ConfigurationName)\;

copy $(TargetPath) $(SolutionDir)..\Lib\$(ConfigurationName)\;

copy $(TargetDir)$(TargetName).lib $(SolutionDir)..\Lib\$(ConfigurationName)\;

  欢迎转载

转载于:https://blog.51cto.com/leecw/1253455

visual studio 解决方案项目结构部署和配置相关推荐

  1. Visual Studio解决方案的目录结构设置和管理

    Visual Studio解决方案的目录结构设置和管理 参考文章: (1)Visual Studio解决方案的目录结构设置和管理 (2)https://www.cnblogs.com/CHNMurph ...

  2. [C++]在Visual Studio 2010中使用Google Test - 配置

    我主要是想使用单元测试,VS2010是有自己的单元测试的,虽然我不抵触Microsoft的东西,但是自己做的非工业级的东西,去用Microsoft的解决方案是找罪受~所以使用了Google的测试方案. ...

  3. 理解 Visual Studio 解决方案文件格式(.sln)

    一般情况下我们并不需要关心 Visual Studio 解决方案文件格式(.sln),因为 Visual Studio 对解决方案文件的自动修复能力是非常强的.但是如果遇到自动解冲突错误或者编译不通过 ...

  4. Android Studio下项目构建的Gradle配置及打包应用变体

    Gradle简介   Gradle是一个自动化构建工具,采用Groovy的Domain Specific Language(领域特定语言)来描述和控制构建逻辑.具有语法简洁.可读性强.配置灵活等特点. ...

  5. Visual Studio 2017项目进行打包并附加.net框架打包,菜鸟级安装教程

    VS2017项目打包安装教程 一.准备工作 1.安装Installer(若已经安装,则直接进行下一步) 二.打包可执行程序 1.创建setup打包项目 2.编辑Application Folder 3 ...

  6. OpenCV在visual studio 2022中的下载与配置

    OpenCV在visual studio 2022中的下载与配置 opencv的下载 环境变量的更改 visual studio 中的配置 配置文件 代码测试环节 opencv的下载 我个人用的是vi ...

  7. visual studio创建项目时需要注意的问题

    visual studio创建项目时需要注意的问题 Win32项目中,只能使用WinMain函数 . Win32控制台程序中只能使用main函数 .

  8. Xamarin 中Visual Studio创建项目提示错误

    Xamarin 中Visual Studio创建项目提示错误 错误信息:Object reference not set to an instance of an object 出现这种情况,是由于没 ...

  9. Visual Studio 解决方案版本从v12-->v14

    Visual Studio 解决方案版本从v12-->v14 参考文章: (1)Visual Studio 解决方案版本从v12-->v14 (2)https://www.cnblogs. ...

最新文章

  1. Babel 快速入门
  2. php Pthread 多线程 (一) 基本介绍
  3. 快速web app之道
  4. python 面向对象编程tcp_python 闯关之路三(面向对象与网络编程)
  5. iPhone 13 mini背部新外观曝光:双摄对角线排布
  6. 第三章 文件过滤及内容编辑处理命令
  7. DELPHI 初学.
  8. SQL Server 自定义字符串分割函数
  9. python做购物车代码大全-Python实现一个简单的购物车程序
  10. 五十九、备战蓝桥杯 - Java算法 (基础练习一)
  11. 【windows】Windows电脑怎么卸载服务/删除服务?
  12. 豆瓣top250电影数据分析
  13. DLAN(UPNP)主流开源库的官网及SDK下载地址
  14. 工业相机镜头选型教程
  15. AXI总线(top)
  16. STM32通过IIC驱动MAX30102心率血氧传感器
  17. uwb定位系统价格怎么算
  18. 远程桌面计算机没有密码设置,如果对方电脑没有设置密码,如何使用远程桌面连接?...
  19. bigworld源码分析(3)——dbMgr分析
  20. python图像降噪

热门文章

  1. java nio proactor_reactor模式与java nio
  2. 服务器虚拟化与虚拟容器,虚拟化与Docker
  3. DOCKER OVERLAY2占用大量磁盘空间解决办法
  4. MySQL高级 - 应用优化
  5. Spring中的Events
  6. Spring 框架中有哪些不同类型的事件?
  7. 为什么需要ORM 框架
  8. Dubbo支持的协议
  9. dhcp是哪一层的协议_OSI各个分层分别负责哪些功能?有哪些主要协议?涉及到哪些设备?...
  10. 多重循环控制之打印金字塔