visual studio 解决方案项目结构部署和配置
来源:互联网 发布:静态个人引导页源码 编辑:程序博客网 时间:2024/05/18 01:40
在实际的企业项目,一个解决方案里面由几个项目组成:产生静态或者动态链接库的项目、测试用例、产生执行文件的项目、当然还有一些开源的第三方库等。此时,我们需要对解决方案作一定的配置,使得解决方案结构清晰、层次分明,也便于项目维护和多人协作。
一、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)
中间目录:$(SolutionDir)..\Tmp\Compile\$(ProjectName)\$(ConfigurationName)
2--调试
命令:$(SolutionDir)..\Bin\$(ConfigurationName)\$(TargetFileName)
命令参数:(启动参数设置,例如:-d,127.0.0.1 2046等调试参数,地址端口等)
工作目录:$(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)\;
命令:$(SolutionDir)..\Bin\$(ConfigurationName)\$(TargetFileName)
命令参数:(启动参数设置,例如:-d,127.0.0.1 2046等调试参数,地址端口等)
工作目录:$(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)\;
注:在协同开发过程中,拷贝工程到新的电脑或者从SVNcheck下来的工程,本地的Vs会重新生成一个个人设置文件B文件(Vee.vcproj.机器名B.用户名B.user),这个文件和之前A文件(Vee.vcproj.机器名A.用户名A.user)是不一样的。同步的方法是,关闭Vs,删除新生成的B文件,把A文件改成(Vee.vcproj.user),然后重新打开Vs既可以同步了。
0 0
- visual studio 解决方案项目结构部署和配置
- visual studio 解决方案项目结构部署和配置
- visual studio 解决方案项目结构部署和配置
- Visual Studio 2008 项目安装和部署
- 创建用于自定义SharePoint解决方案部署的Visual Studio项目
- Visual Studio 安装部署项目
- Visual Studio 安装部署项目
- 如何为 Visual Studio 2005 或 Visual Studio .NET 安装和部署项目创建快捷方式
- Visual Studio 2005 WINFORM项目部署
- Visual Studio 2005 项目部署2
- Pet Shop 解决方案中的 Visual Studio 项目
- Visual Studio中没有为此解决方案配置选中要生成的项目
- 用于 Visual Studio 和 ASP.NET 的 Web 应用程序项目部署概述
- 如何在Visual Studio.NET中正确的建立解决方案和项目
- Visual Studio 2008“选项”对话框 ->“项目和解决方案”->“生成并运行”
- 运用EnvDTE获取Visual Studio实例并动态修改解决方案和项目
- 如何设置Visual Studio的项目和解决方案目录(环境目录:Include, Library, Executable, etc.)
- allegro 5 visual studio 2010项目配置
- Android记录23-关于actionbar中overflow menu(溢出菜单)中的一些问题
- MyBatis 错误总结
- Android Studio使用笔记
- Scalaz(2)- 基础篇:随意多态-typeclass, ad-hoc polymorphism
- ArcGIS的shapefile图层有别名和真实名称,获取真实名称的方法
- visual studio 解决方案项目结构部署和配置
- Singleton 单例模式(懒汉方式和饿汉方式)
- android 资源之 color
- 数塔(2084)
- web_custom_request应用示例
- 向苹果APNS推送消息开发库 APNS-Sharp
- MongoDB学习3_MongoDB 分片的原理、搭建、应用
- Android中AES加密解密。解决密文不唯一、解密不出明文问题
- 关于shell中time的内容重定向问题