VS2013多工程开发
来源:互联网 发布:unity3d实现物体闪烁 编辑:程序博客网 时间:2024/06/03 11:10
对C/C++熟悉比算法重要
首先看一下的生成结果:
创建一个多工程项目
新建Project添加到已有Solution中,File->New->Project… 打开新建工程对话框新建一个UsingUtils工程,注意在Solution这一栏中我们选择Add to solution。
添加一个工程添加引用关联,这时我们要使用这个Utils编译出来的库,配制也要简单一点了。右键UsingUtils工程->Properties->Common Properties->Framework and references,添加引用(依赖)的工程Utils。设置引用关联后,如果Utils工程发生改动或更新,在编译UsingUtils工程时就会重新编译Utils工程。
添加引用关联设置头文件的路径。
设置头文件的路径设置启动工程,在有多个工程的Solution中要设置启动工程(也就是要第一个开始执行的工程),不然你按F5运行时不知道从哪个工程开始执行。选择UsingUtils工程名右键鼠标->Set as Startup Project。然后就可以执行或调试UsingUtils工程了。
编译结果和目录管理
在多个组件同时开发时,把相关的Project放在同一个Solution下会方便很多。但你有没有发现一个新的问题,如果一个Solution有很多的Project,每一个Project目录下都会有一个编译结果的目录,如下图这样你昏不昏?
编译结果目录
那如何管理这些目录,使这些目录看起来不这么混乱呢?其实我们是可以设置这些目录的输出路径的,可以把它们放在一起管理。我们可以将输出目录设计成这样:
- Utils
- Utils
- UsingUtils
- Output
- Win32
- Debug
- Bin
- Lib
- Temp
- Release
- Bin
- Lib
- Temp
- Debug
- Win32
这样看起来是不是结构清晰多了!Output为输出目录,Win32为Windows X32下编译的结构,Linux为Linux平台下的编译结果(这个涉及到跨平台开发,暂时不谈),Win32下再有Debug和Release等多个不同的释出版本,Bin下放置编译出的最终结果(如.exe等),Lib下放置编译出的所有.lib文件,Temp放置编译过程的临时文件(如.obj等)。
我们还是以Utils为例进行说明。Utils Solution下有两个Project:Utils(编译出Utils工具库)和UsingUtils(使用Utils的库),仅以释出Debug_Static进行说明,其它的释出方式与此类似。
所有Project使用同一组配制项。
说到Debug和Release就是一组配制项,其实整个Solution有一个配制项,每一个Project也有自己的配制项。 整个Solution的配制项也就是下图工具栏中你能看到的这些配制项:
Solution的配制项
而每一个Project的配制荐是你右键工程名->Properties能看到的配制项:
Project的配制项
一般一个Solution下的所有的Project最好使用同组配制项,这样不容易混乱。给UsingUtils添加Debug_Static配制项。我们设置Utils的属性时已经配制了Debug_Static的配制项,并设置了Solution的Debug_Static配制项,再给UsingUtils添加Debug_Static的配制项。
添加配制项
标“4”的Create new solution configurations表示为整个Solution也添加(Debug_Static)配制项,这个复选框得取消勾选,因为设置Utils时已经为Solution默认添加了Debug_Static配制项,不然会添加不上。设置Utils的输出路径,右键Utils工程->Properties进行如下配制。
设置输出路径拷贝导出库.lib,我们可以将Utils编译出的静态库拷贝Utils.lib到Lib目录下,这样我们就可以直接把这个文件提供到调用方使用。
- Build Events中可以设置编译前、链接前、编译后要进行的处理事件。这里我们目地是编译后将编译出的Utils.lib拷贝到Lib文件夹下,所以我们在Post-Build Event输入以下命令(原作者没有加引号是不能编译的,需要添加引号)
设置UsingUtils的输出路径,与Utils类似如下:
设置UsingUtils的输出路径设置完成,Ok,编译一下再来看看输出结果目录,是不是清晰多了!
中途如果遇到Visual Studio 2013 fatal error C1041 /FS问题,是因为在设置中间路劲出现错误。
解决:
http://www.cnblogs.com/purple1/p/4444938.html
- VS2013多工程开发
- VS2013多工程开发
- vs2013+NetCDF开发工程搭建
- vs2010打开vs2013工程
- live55 vs2013工程
- caffe在windows下如何在vs2013新建工程开发自己的应用cpu模式
- caffe在windows下如何在vs2013新建工程开发自己的应用cpu模式
- Vs2013增加静态库工程
- 源文件工程结构 vs2013笔记
- cocos2dx3.1 + VS2013创建工程
- VS2013多字节工程问题
- qmake生成vs2013工程文件
- VS2013打包工程的步骤
- VS2013工程转2010工程[微记]
- VS2014工程转化成VS2013工程
- QT5.3.1和VS2013开发,安装插件后在VS2013建新工程报错模块计算机类型“x64”与目标计算机类型“X86”冲突
- vs2013开发实用快捷键
- VS2013开发快捷键
- 第十二周oj题目进制转换
- WPF ScrollViewer嵌套Listbox无法滚动
- stm32 NVIC中断管理实现[直接操作寄存器]
- 第7章 云监控
- Android五种数据存储(数据持久化)方式
- VS2013多工程开发
- Golang1.7.3使用标准库的AES加密解密不实用扩展协议
- 二叉搜索树hdu3791
- 消息队列MassageComponent示例
- iBatis查询复杂集合
- 新建CR
- Visual studio shell 2010中跟踪当前选中的ToolWindow
- php获取ip地址以及ip对应的省市区
- PHP语言特性和各版本的差异