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

前言

  • 我方了呀,找了一堆方法,都是在关键步骤上没说怎么解决,摸索半天,终于搞出来了。。。
  • 学习这个.lib的应用是因为跟着一个技术很牛&工程师学习,途中用了一个官方封装的一个库,感觉很牛&,想自己学习下,另一方面,如果自己写的各种模块的驱动都包装成库,调用着就方便多了,说干就干,走起。。。
    注:生成.lib时的工程芯片需要和调用.lib的工程芯片一致
    (我测试时,包装一个IIC的驱动程序,在AT24C02的驱动工程中调用IIC编译生成的库,芯片型号:STM32F103C8T6)

LIB的生成:

第一步:建立一个STM32F103C8T6的工程文件(用的CubeMAX)
在这里插入图片描述

第二步:添加需要包装的.c和.h文件
在这里插入图片描述

第三步:配置Keil生成文件,编译生成.lib文件(只有编译成功才能生成。。。)
在这里插入图片描述
生成.lib文件在这里插入图片描述
在C:UserslenovoDesktopIIC_LIBMDK-ARMIIC_LIB找到生成的.LIB 文件
在这里插入图片描述

LIB的调用:

第一步:把生成的.lib文件放入需要调用库的工程文件内(在需要调用库的工程中。。。)
像添加.c文件一样的操作
在这里插入图片描述
然后就
在这里插入图片描述
这样了
第二步:直接用.lib中的函数(是直接用,不用调用什么头文件啥的,只要把库搞进去就行了,不需要include“xx.h”)
然后就直接用了,直接用,直接用,直接用了!
在这里插入图片描述
编译:
在这里插入图片描述
你用的函数没有声明!!
第三步:声明下你调用的头文件(不然会有些警告)

在这里插入图片描述
在.h中声明下你用到的函数,编译
在这里插入图片描述
结束!

补充一点:

可以把除了要生成的.c和.h文件外的其它程序删掉,减小生成的库的大小,我之前自己试的时候总是编译失败,就新建一个工程,现在试试把别的冗余的代码都删除也能编译通过生成.LIB 文件
在这里插入图片描述

原文地址:https://www.cnblogs.com/hhsxy/p/14018363.html