您的位置:首页 > 其它

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

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

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

欢迎转载,转载请注明出处,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: