Keil制作自己的lib

  这篇介绍如何制作自己的LIB(Keil平台)。

为什么要做成lib库?

  1. 不想将自己写的源代码公开,但是同时库文件又需要让别人能够正常调用,那封装成lib的格式就是一个方法。
  2. 当功能成熟时,防止他人改动功能、并减少工程编译时间。
    1. 如上所说,防止他人改动功能内容。
    2. 编译某些工程文件时非常耗时,像ST官方的库时,由于文件众多,编译一次可能得1两分钟。假如这个这时可以打包成库,节省不少的时间。但同时也不能用右键go to Definition ‘XXX’来直接找到源文件定义了。
  3. 项目基本不需要再改动,局部单文件需要频繁改动。即单个功能模块需要频繁改动,可以把该功能模块封装成静态库,导入功能。如果要改功能,只要更换库就行了。

LIB的制作方法一

  1. 首先将之前的工程项目文件进行一次复制粘贴备份,备份完成后,打开工程文件进入 Manage->project Items ,移除不需要的文件,仅保留需要打包为库文件的文件,如下图:
  1. 在Output选项中选择生成库的选项,如下图
  1. 在OBJ文件夹中找出tcp.lib的文件,从新命名你想要的名字即可,至此库封装完毕。
  1. 将生成的库文件拷贝回之前的项目中,添加到项目中,删除之前的源文件即可使用。
  1. lib的调用,keil不能直接调用lib文件,需要将lib和.h文件 同时放到工程中去!!!

LIB的制作方法二

  1. 右键点击工程,假设为a,选Add Group,假设为b,再将想生成lib的文件加入b group,假设文件是cc.c,必须要有cc.h。
  1. 右键依次点击其他的group,按KEIL官网资料所说的,将Options for Group->Properties下的Include in Target Build前的对勾去掉,这样生成LIB时就不会被编译了
  1. Project->Options for Target->Output下,选择Create Library,改输出文件名为cc,点OK
  1. 编译,这样就能在工程文件夹下的OBJ找到生成的cc.lib了

总结:不要另开工程!!!库文件的配置要求很高,例如芯片选型、等等一系列微配置。重新建工程容易出现link错误,建议直接复制原有工程进行删减。

-------------本文结束感谢您的阅读-------------