keil 中如何编译和引用库“.LIB”?
答案:2 悬赏:10 手机版
解决时间 2021-03-06 00:00
- 提问者网友:刺鸟
- 2021-03-05 17:18
我将自己写的函数“ST.C”编译成了“ST.LIB”,在引用“ST.LIB”是找不到“ST.C”中包含的一个管脚定义的头文件“ST_PIN.H”,也就说,编译“ST.C”时,没有将包含的“ST_PIN” 编译到“ST.LIB”,这是为什么啊?
最佳答案
- 五星知识达人网友:上分大魔王
- 2021-03-05 17:59
头文件是要引入到项目中的,也就项目中要用到ST.LIB库函数的地方,用把ST_PIN.H含进去
全部回答
- 1楼网友:舊物识亽
- 2021-03-05 18:41
这里8279.c,delay_ms.c,watchdog.c,function.c都是我以前写过现在拿来重用的代码。
这样做还有一个问题,如果某个函数未调用,编译器就会给一个警告,uncalled segment,ignored for overlay process,"未调用的段,被忽略",虽然无啥大碍,但看着也挺不爽的。
于是自己生成lib文件,.lib是生成了,但就是没能用,始终有警告
*** warning l1: unresolved external symbol未解析的外部标号
*** warning l2: reference made to unresolved external引用外部为解析的段
因为编译器没有找到那个函数的代码,也就未解析了,百度了一下,前几个结果竟然都没给出一个有效的解决办法
其实问题很简单,你在group上右键add时注意一下对话框中允许添加的文件扩展名,除了c,asm之外,还有lib,把你的lib文件加进去,ok了。--------下面是我用库的 一些记录-------------------------------------------------
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯