项目开发中对使用的第三方库统一进行管理
创始人
2024-08-30 21:41:00
0

项目开发中,如果遇到不是自己开发的项目时,当需要另外的人去维护时,经常连正常的编译连接都不能通过,很多的都是需要设置一些工程属性什么的,搞了半天最终才能编译通过。像这些类似的体力活可能是大多数人不愿弄的。

这里说的是对项目中所使用到的第三方库使用属性表进行统一管理起来,当在其他地方使用这些第三方库或者功能移植时直接创建或者添加属性表就可以满足需要了。在项目解决方案目录下建立两个文件夹一个是用于存放所有第三方库的,另一个是存放项目中所有的属性表,这里我建立了一个“ThirdParty”用于存放所有的第三方库,然后建立了一个“CompileSetting”用于存放所有的属性表:

其中在“ThirdParty” 目录下存放的是不同的第三方库的子目录例如此处我使用的是一个名为“dll1” 的动态库子目录,在“dll1”子目录下存放的类似是包含“dll”、“lib”、“include”这些的子目录:[[93902]]

用于存放所使用的名为dll1的动态库dll、lib和一些头文件等等。下面就可以针对“dll1” 添加一个属性表,方便在项目中使用,具体创建直接贴图了:1.添加属性表

2.输入名称即所使用的第三方库的名称(自定义)选择存放属性表的存放位置,这里需要说明一下就是存放的位置是上面在项目目录下新建的“CompileSetting” 用于统一存放所有的属性表。

3.下面是为所创建的属性表添加“用户宏”输入名称(自定义)和值。其中值在“$(SolutionDir)”之后是上面在项目目录下创建的“ThirdParty”目录以及动态库其子目录“dll1”:

4.然后设置“附加包含目录”是刚才添加的用户宏“$(DLL1PATH)”然后跟上其目录下的子目录“include“指向动态库所使用的头文件:” 

5.接着设置“附加库目录”指向动态库dll1下子目录“lib”

6.***设置“生成后事件”拷贝所使用的动态库dll到可执行程序目录内,避免执行程序时还要拷贝dll,这里是拷贝到“$(OutDir)” 这也是一个用于输出编译的属性表:

就此属性表dll1属性表创建成功,好像有点麻烦,但是现在麻烦一点是为以后的不麻烦。下面在说下刚才提到的“$(OutDir)” 这也是一个属性表,用于设置项目编译的生成事件。它的创建和上面创建属性表的方法大致相同:1.创建一个自定义的属性表名称,这里叫做“output”的属性表,然后分别添加三个用户宏即:OUTPATH:

INTPATH:

还有一个DISTPATH:

---------------------------------------------------------------------------------------至此output属性表设置成功,下面是设置项目解决方案的生成事件2.设置“输出目录”和“中间目录”。这里填写的就是刚才创建output时添加的用户宏的名称:

===============================================================================这样就可以重新编译一下项目解决方案了,以后在需要使用到例如dll1的动态库,直接拷贝“CompileSetting”和“ThirdParty”两个文件目录就行,想使用哪个动态库直接添加各动态库的属性表就可以,这里需要再说明一下属性表区分Debug和Release以及区分32位和64位的,所以创建的时候需要分别创建。

原文链接:http://www.cnblogs.com/wainiwann/archive/2012/09/09/2678089.html

 

【编辑推荐】

  1. 项目模块开发——切dvd库
  2. 公开我的开源项目newland.js
  3. Silverlight 3D开源项目
  4. 常见的产品需求获取来源
  5. JavaScript项目优化总结

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...