分类: C/C++
2013-11-29 13:50:26
查了一个下午,竟然没有一个网页完整的说清楚的这个问题,莫非太简单了大家不屑于说?看大多数说的都是简单地将整个工程转换成.LIB,在Project->Options for Target->Output下,选择Create Library,就可以了。
不过这样生成的lib文件巨大,我现在编译的工程最后生成的lib有2.6MB。
后来还是从KEIL官网英文资料中找到灵感():
1、右键点击工程,假设为a,选Add Group,假设为b,再将想生成lib的文件加入b group,假设文件是cc.c,必须要有cc.h。
2、右键依次点击其他的group,按KEIL官网资料所说的,将Options for Group->Properties下的Include in Target Build前的对勾去掉,这样生成LIB时就不会被编译了
3、Project->Options for Target->Output下,选择Create Library,改输出文件名为cc,点OK
4、编译,这样就能在工程文件夹下的OBJ找到生成的cc.lib了,我在里面只放了一个函数,大小为80K。
5、调用也要注意,将cc.lib拷贝到source文件夹下,将其添加到main group中,并删掉之前的cc.c,要使用cc.lib时,必须要保证c文件中include “cc.h”。当然在之前写cc.c中也要include “cc.h”,并且cc.h中声明了cc.c中的函数才行。最后要将刚才去掉对勾的部分都还原,编译,OK!
参考网址:
Keil C 里面Lib库文件的生成与调用
http://blog.ednchina.com/alexi2008/224810/message.aspx
?VISION: CREATE LIBRARY AND APPLICATION IN ONE PROJECT
Keil的lib生成个人总结
http://blog.21ic.com/user1/3742/archives/2010/70337.html
Keil的lib库函数的封装
http://blog.csdn.net/CaesarZou/article/details/5533934
Keil中如何使用自己生成的LIB库
http://blog.csdn.net/wgq2633/article/details/2897752
Keil 生成Lib 调用Lib
http://dufanfance.blog.163.com/blog/static/144959439201151414974/
转自http://blog.csdn.net/gasbi/article/details/6761420