Visual Studio 项目属性配置
引言:在VisualStudio的开发中,如果一个解决方案中涉及到多个项目,或者包含各种依赖关系,或者包含各种外部的资源,在开发之前配置好相关源文件与生成目标的路径能够很大程度上降低开发额外的工作。在VisualStudio中其实有4个地方能够设置引用路径、生成路径等属性,包括IDE的属性、解决方案的属性、项目的属性、文件的属性,清楚这些属性之间的差异能够快速的找到配置某些属性的位置。另外在VisualStudio中的路径引用处理得也十分好,可以灵活定义各生成文件的目标路径。
1.工程解决方案中涉及到的类、文件
1.1Visual Studio选项设置

此处的设置是针对整个IDE工具的,比如编辑界面的布局,使用的各种语言编辑器的特点等。可以将此配置导出。
1.2解决方案属性设置
右键一个解决方案,查看属性,如下:

这里面并没有太多东西,主要设置解决方案中的几个项目之间的启动属性。设置的属性数据应该是保存在sln文件中的。
1.3项目属性设置
右键一个项目,属性:

包括一个项目各种文件的布局、目录,链接前后的宏,等;设置的属性应该是保存在vcproj文件中的。

使用项目依赖项,可以很容易地一次生成解决方案中所有的项目。
1.4文件属性设置
右键一个文件,属性:

由于源文件都是按照一个一个的文件编译的,那么一个文件可以设置当其在编译的时候的属性。
1.5小结
解决方案、项目、文件由于都涉及到了编译的类型(debug还是release),所以设置可针对此类型而有不同。
2.解决方案及项目目录布局
2.1需要考虑的内容
- 源代码版本控制
- 每个项目都应该是自给自足的,即整个项目目录我随便copy到什么地方,都照样能编译运行。所以必须要包含所有项目依赖的第三方的库文件和相关的头文件。
- Debug与release控制
- 主线与分支控制
2.2包含的内容
- 项目文档
- 工程依赖的所有外部库文件和头文件
- 工程以来的所有项目产生的库和头文件
- 编译器产生的中间文件,目标文件
- 编译得到的exe和dll
- 可执行文件需要用到的各种图像,声音,模型,场景,UI等资源文件
- 存放脚本文件、各种自动化工具
2.3项目属性中的目录设置
编译之后的输出、中间文件、日志文件

预编译头相关
清单文件、清单资源文件、依赖项信息文件

可以用生成后事件来拷贝一些资料

所使用的脚本就是cmd的批处理。
发表评论