mmbs 发表于 2024-9-18 21:00

keil5中.lib文件的生成与调用

LIB的生成:第一步:建立一个STM32F103C8T6的工程文件(用的CubeMAX)
https://img-blog.csdnimg.cn/20201015092006171.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczOTE2Nw==,size_16,color_FFFFFF,t_70#pic_center第二步:添加需要包装的.c和.h文件
https://img-blog.csdnimg.cn/20201015091927114.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczOTE2Nw==,size_16,color_FFFFFF,t_70#pic_center第三步:配置Keil生成文件,编译生成.lib文件(只有编译成功才能生成。。。)
https://img-blog.csdnimg.cn/20201015092118402.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczOTE2Nw==,size_16,color_FFFFFF,t_70#pic_center
生成.lib文件https://img-blog.csdnimg.cn/20201015092143382.png#pic_center
在C:\Users\lenovo\Desktop\IIC_LIB\MDK-ARM\IIC_LIB找到生成的.LIB 文件
https://img-blog.csdnimg.cn/20201015092333452.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczOTE2Nw==,size_16,color_FFFFFF,t_70#pic_center
LIB的调用:第一步:把生成的.lib文件放入需要调用库的工程文件内(在需要调用库的工程中。。。)
像添加.c文件一样的操作
https://img-blog.csdnimg.cn/20201015092752351.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczOTE2Nw==,size_16,color_FFFFFF,t_70#pic_center
然后就
https://img-blog.csdnimg.cn/20201015092904417.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczOTE2Nw==,size_16,color_FFFFFF,t_70#pic_center
这样了
第二步:直接用.lib中的函数(是直接用,不用调用什么头文件啥的,只要把库搞进去就行了,不需要include“xx.h”)
然后就直接用了,直接用,直接用,直接用了!
https://img-blog.csdnimg.cn/20201015093013279.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczOTE2Nw==,size_16,color_FFFFFF,t_70#pic_center
编译:
https://img-blog.csdnimg.cn/20201015093050440.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczOTE2Nw==,size_16,color_FFFFFF,t_70#pic_center
你用的函数没有声明!!
第三步:声明下你调用的头文件(不然会有些警告)https://img-blog.csdnimg.cn/2020101509313433.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczOTE2Nw==,size_16,color_FFFFFF,t_70#pic_center
在.h中声明下你用到的函数,编译
https://img-blog.csdnimg.cn/20201015093205272.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczOTE2Nw==,size_16,color_FFFFFF,t_70#pic_center
结束!
补充一点:可以把除了要生成的.c和.h文件外的其它程序删掉,减小生成的库的大小,我之前自己试的时候总是编译失败,就新建一个工程,现在试试把别的冗余的代码都删除也能编译通过生成.LIB 文件
https://img-blog.csdnimg.cn/20201015093806105.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczOTE2Nw==,size_16,color_FFFFFF,t_70#pic_center





szt1993 发表于 2024-9-24 15:13

非常不错的设计方案
页: [1]
查看完整版本: keil5中.lib文件的生成与调用