1、:打开一个测试通过的工程。
(测试没有问题后将不需要的部分删除,包括main.c文件,即你不想生成lib的 各类xx.c文件删除。当然你也可以
将各类不想编译生成lib的文件Options for file->Properties下的Include in Target Build前的对勾去掉,这样该文件也不会被编译生成Lib。或者将整个Options for Group->Properties下的Include in Target Build前的对勾去掉)
2、在Project->Options for Target->Output下,选择Create Library。
3、重新编译,即可在原本生成Hex文件的目录下找到*.lib文件。
4、打开原工程,只需将原来的.c文件移除,添加进该.lib文件即可使用。
以下为本人转载: 题名《keil中生成个人库文件及调用方法》 上传者:13572089021 来自百度文库
备注要点:
1. 生成lib 的工程可以没有main函数,可以只有一个.c文件,一个.c文件中可以只有一个函数
2. 需要在lib工程中建立一个.h文件, 必须用extern声明各全局变量和函数.
3. 调用lib文件的工程中必须包括lib中的.h文件, 也就是lib工程和调用工程都包含同一个.h文件(好像有点废话)
4、.Lib的文件要分的细一点,没有调用关系的两个函数不要放到同一个C文件中. 没有调用关系的最好是一个函数单独放在一个.c文件中.这是为了避免在keil中应用程序调用lib库里出现告警. 因为LIB51在链接的时候是按模块来链接的,一个模块就对应一个C文件,假如链接器因为要使用你一个函数fA而引入了A模块,那么A模块中的另外的函数也会被引入,而另外的函数你又没有使用的话,那么就会引发Keil经典的UNCALLED FUNC的warning。
通常为每一个函数编一个.C文件,而整个lib用一个.h文件,这样就可以使只有被调用的函数参与连接
5.调用lib库时需要在工程中将.lib文件加进来. 在Group中右键,然后Add ,注意文件类型中选择*.lib.