专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 单片机

keil调用不已lib

发布时间:2010-06-14 14:50:04 文章来源:www.iduyao.cn 采编人员:星星草
keil调用不了lib
用VS生成了minixml的lib文件,mxml.h文件也include了,但是调用里面的函数还是会报..\..\Output\emwin.axf: Error: L6218E: Undefined symbol mxmlDelete (referred from main.o).
------解决思路----------------------
类本身有问题, 说是找不到什么东西
------解决思路----------------------
引用:
Quote: 引用:

类本身有问题, 说是找不到什么东西

应该不是,同一个lib跟.h,VS是可以正常使用,应该是我在keil的设置有问题,但是在网上找的都是一样的答案

 Undefined symbol mxmlDelete (referred from main.o). 
提示是main.c里的mxmlDelte找不到定义, 你在main.c里找到mxmlDelte然后Goto define看看转到哪去了?
------解决思路----------------------
1、你在VS上面编译的静态库,在Keil上是没法使用的,你需要在keil上编译源码,使用Keil编译静态库。因为PC上的指令集和MCU上的指令集不一样,而静态链接库是编译成二进制文件了,所以一定要指令集相同。
2、即使在Keil上编译静态库。指令集不一样也不可以用。如你编译静态库的时候选择的MCU型号是LPC2148,但是你在使用静态库的时候选择的MCU型号是STM32,由于STM32和LPC2148两者的指令集不一样,你也一样无法使用。LPC2148是ARM7机构,而STM32是M系列架构
------解决思路----------------------

我还以为你用VS新出的嵌入式插件编译嵌入式用的库
原来你直接就用PC平台的库,肯定出问题了

------解决思路----------------------
引用:
Quote: 引用:

1、你在VS上面编译的静态库,在Keil上是没法使用的,你需要在keil上编译源码,使用Keil编译静态库。因为PC上的指令集和MCU上的指令集不一样,而静态链接库是编译成二进制文件了,所以一定要指令集相同。
2、即使在Keil上编译静态库。指令集不一样也不可以用。如你编译静态库的时候选择的MCU型号是LPC2148,但是你在使用静态库的时候选择的MCU型号是STM32,由于STM32和LPC2148两者的指令集不一样,你也一样无法使用。LPC2148是ARM7机构,而STM32是M系列架构
嗯嗯,那你知道有哪些XML解析库是可以在STM32上用的吗?找了好久都找不到

STM32上面一般很少会做xml解析的,如果你的xml文件不是太复杂,你自己写个程序解析吧。以前我在那个公司做过xml解析,形成了各种链表
------解决思路----------------------
单独拿到keil里编译。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: