前言
- 我方了呀,找了一堆方法,都是在关键步骤上没说怎么解决,摸索半天,终于搞出来了。。。
- 学习这个.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 文件