打印

【转】在KEIL realview MDK下为单一C文件生成.LIB文件

[复制链接]
801|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

在KEIL realview MDK下为单一C文件生成.LIB文件

纠结了一天,竟然没有一个网页完整的说清楚的这个问题,莫非太简单了大家不屑于说?看大多数说的都是简单地将整个工程转换成.LIB,在Project->Options for Target->Output下,选择Create Library,就可以了。



不过这样生成的lib文件巨大,我现在编译的工程最后生成的lib有2.6MB。
沙发
niuyaliang|  楼主 | 2015-1-25 13:55 | 只看该作者
后来还是从KEIL官网英文资料中找到灵感(http://www.keil.com/support/docs/2610.htm):

1、右键点击工程,假设为a,选Add Group,假设为b,再将想生成lib的文件加入b group,假设文件是cc.c,必须要有cc.h。

使用特权

评论回复
板凳
niuyaliang|  楼主 | 2015-1-25 13:57 | 只看该作者
2、右键依次点击其他的group,按KEIL官网资料所说的,将Options for Group->Properties下的Include in Target Build前的对勾去掉,这样生成LIB时就不会被编译了

使用特权

评论回复
地板
niuyaliang|  楼主 | 2015-1-25 13:57 | 只看该作者
3、Project->Options for Target->Output下,选择Create Library,改输出文件名为cc,点OK

使用特权

评论回复
5
niuyaliang|  楼主 | 2015-1-25 13:58 | 只看该作者
4、编译,这样就能在工程文件夹下的OBJ找到生成的cc.lib了,我在里面只放了一个函数,大小为80K。

使用特权

评论回复
6
niuyaliang|  楼主 | 2015-1-25 13:58 | 只看该作者
5、调用也要注意,将cc.lib拷贝到source文件夹下,将其添加到main group中,并删掉之前的cc.c,要使用cc.lib时,必须要保证c文件中include “cc.h”。当然在之前写cc.c中也要include “cc.h”,并且cc.h中声明了cc.c中的函数才行。最后要将刚才去掉对勾的部分都还原,编译,OK!

使用特权

评论回复
7
vivilzb1985| | 2015-2-10 21:28 | 只看该作者
这个也分享的了,,很不错的介绍的。

使用特权

评论回复
8
firstblood| | 2015-2-11 22:22 | 只看该作者
过来参考学习的了。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

212

主题

2427

帖子

7

粉丝