visual studio 解决方案项目结构部署和配置

2 篇文章 0 订阅

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

一、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)\;

 欢迎转载,转载请注明出处,谢谢!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Visual Studio项目的目录结构通常是根据项目类型和需求而定的。一般来说,一个Visual Studio项目中包含了多个不同类型的项目,如静态或动态链接库的项目、测试用例项目、产生执行文件的项目等。在实际的企业项目中,可以使用解决方案来组织这些项目,使得项目结构清晰、层次分明,便于项目维护和多人协作。 在具体的项目目录结构中,可以包含以下几个常见的文件夹: 1. src或source:用于存放源代码文件,包括主要的项目代码文件和相关的辅助文件。 2. include:用于存放头文件,提供给其他项目进行引用,例如生成库文件的项目。 3. lib或libs:用于存放库文件,包括静态库和动态库等。 4. test或tests:用于存放测试代码和相关的测试数据。 5. docs或documents:用于存放项目文档,包括需求文档、设计文档和使用说明等。 此外,还可以根据具体项目的需求添加其他自定义的文件夹,如config用于存放配置文件、resources用于存放资源文件等。 需要注意的是,不同类型的项目可能会有不同的目录结构,具体的项目结构可以根据项目需求进行灵活调整和扩展。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [浅谈Visual Studio 2019 Vue项目的目录结构](https://download.csdn.net/download/weixin_38645133/12727757)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Visual Studio 中的工程结构解析](https://blog.csdn.net/weixin_33827590/article/details/94177022)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [visual studio 解决方案项目结构部署配置](https://blog.csdn.net/leecw/article/details/9386015)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值