c 中使用 minixml 出现 undefined reference to

以其而始 2017-06-08 07:41:57
在使用 minixml 解析xml ,编译可以通过,但是运行时会出现
main.c:12: undefined reference to `mxmlLoadFile'
main.c:17: undefined reference to `mxmlFindElement'
main.c:20: undefined reference to `mxmlElementGetAttr'
main.c:21: undefined reference to `mxmlElementGetAttr'
main.c:25: undefined reference to `mxmlFindElement'
main.c:28: undefined reference to `mxmlFindElement'
main.c:33: undefined reference to `mxmlDelete'

(本身是写java的 因为需求要c 解,看了一下午也没看出啥,求解答)

代码如下

#include<mxml.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>

int main()
{
FILE *fp;
mxml_node_t *tree,*node;

fp = fopen("debug_settings.xml", "r");
tree = mxmlLoadFile(NULL, fp,MXML_TEXT_CALLBACK);
fclose(fp);

mxml_node_t *id,*password;

node = mxmlFindElement(tree, tree, "note",NULL, NULL,MXML_DESCEND);

printf(" year:%s \n",mxmlElementGetAttr(node,"year"));
printf(" date:%s \n",mxmlElementGetAttr(node,"date"));
printf(" month:%s \n",mxmlElementGetAttr(node,"month"));



id = mxmlFindElement(node, tree, "id",NULL, NULL,MXML_DESCEND);
printf("[%s}\n",id->child->value.text.string);

password = mxmlFindElement(node, tree, "password",NULL, NULL,MXML_DESCEND);

printf("[%s]\n",password->child->value.text.string);


mxmlDelete(tree);

return 0 ;
}
...全文
301 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
LubinLew 2017-06-09
  • 打赏
  • 举报
回复
如果是gcc的话 编译加上 -static 选项
zhujinqiang 2017-06-09
  • 打赏
  • 举报
回复
可以参考: http://blog.csdn.net/shenwansangz/article/details/47155521
自信男孩 2017-06-08
  • 打赏
  • 举报
回复
这些都是mxml的接口函数,应该是编译时没有加-lmxml,即编译时没有链接动态库。 了解更多,可以参考一下这个博主的文章: http://www.cnblogs.com/liunianshiwei/p/6086577.html

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧