Mini-XML从入门到精通系列--源码获取及安装
来源:互联网 发布:广西广电网络机顶盒ip 编辑:程序博客网 时间:2024/05/11 02:27
1.源码获取路径:
http://michaelrsweet.github.io/mxml/
可以直接下载.tar.gz包解压安装,或者直接通过github fork到自己的仓库,git到自己本地安装,关于github和git源码在下篇中再讲,现在讲解如何通过.tar.gz包安装。
现假定你已获取源码包并已成功放入到虚拟机Ubuntu目录下。
关于如何把文件从window传到虚拟机安装的系统中,可自行百度,或者有必要的话,下次再开篇博文。
2.首先解压mxml-2.10.tar.gz文件:
tar -xzvf mxml-2.10.tar.gz
3.编译安装
进入到解压后的文件目录:
- 设置环境./configure
- 编译make
- 安装 make install 注意root权限才可以安装,否则会提示权限不够 sudo make install
以上步骤顺利完成后,mini_xml库就已经安装到你的Linux系统中了。
以后就可以直接调用头文件 #include "mxml.h"使用了。
4.编译自带测试程序
下面用源码中自带的测试程序,先了解下大致功能
源码中有一个testmxml.c的文件就是测试程序,现编译成可执行文件
gcc -o testmxml testmxml.c
提示错误:
testmxml.c:(.text+0x1655):对‘mxmlSAXLoadFile’未定义的引用
/tmp/cc9KVjbn.o:在函数‘type_cb’中:
testmxml.c:(.text+0x1827):对‘mxmlElementGetAttr’未定义的引用
collect2: error: ld returned 1 exit status
动态链接库未在编译时链接进去,修改
gcc -o testmxml testmxml.c -lmxml
再编译:
//usr/local/lib/libmxml.so:对‘pthread_getspecific’未定义的引用
//usr/local/lib/libmxml.so:对‘pthread_key_create’未定义的引用
//usr/local/lib/libmxml.so:对‘pthread_once’未定义的引用
//usr/local/lib/libmxml.so:对‘pthread_setspecific’未定义的引用
//usr/local/lib/libmxml.so:对‘pthread_key_delete’未定义的引用
collect2: error: ld returned 1 exit status
还是有错误,看提示信息是pthread线程相关动态库未链接进来,继续修改
gcc -o testmxml testmxml.c -lmxml -lpthread
这次便编译成功了
5.运行
./testmxml
提示信息:
Usage: testmxml filename.xml [string-output.xml]
说明输入参数需要有一个.xml文件,或者一个可选的输出.xml文件。
第一个文件必须要在testmxml同一目录下存在
如在源程序中已经存在一份test.xml文件
重新运行:
./testmxml test.xml
就会把test.xml文件中的内容显示出来了。
如果运行:
./testmxml test.xml testnew.xml
就会把test.xml文件中的内容复制到testnew.xml文件中,同时会显示在界面上。
今天就先讲解到此,下一次就详细讲解如何实现一个最简单的xml文件解析程序。
- Mini-XML从入门到精通系列--源码获取及安装
- 【Spring源码从入门到精通】 (六)获取XML的验证模式
- 【Spring源码从入门到精通】(七)获取Document
- HTML5教程从入门到精通及网站源码
- HTML5教程从入门到精通及网站源码下载
- 工作流(WF)从入门到精通系列
- NHibernate从入门到精通系列
- WF从入门到精通系列
- RabbitMQ从入门到精通----环境安装
- XML 从入门到精通(一)XML基础
- 【Spring源码从入门到精通】(八)解析及注册BeanDefinitions
- 【备忘】HTML5教程从入门到精通及网站源码下载
- android从入门到精通-项目实战(心得及源码)
- IBM WebSphere Portal V7安装手册--portal v7从入门到精通系列之一
- 从入门到精通
- Java从入门到精通——数据库篇Mongo DB 安装启动及配置详解
- matlab从入门到精通(一)安装软件及使用方法
- Record Management System从入门到精通系列之一
- 程序员面试若干资料,干货!!!
- 文章标题
- Animation 动画介绍和实现
- tolower函数toupper函数
- 操作控制小乌龟
- Mini-XML从入门到精通系列--源码获取及安装
- Python 实现通过指针实现链表翻转,链表奇偶下标交换,链表的冒泡排序
- 监督式学习(Supervised learning)
- Spring 整合Redis以及Spring的RedisTemplate如何使用
- 五分钟创建个人公众号并接入图灵机器人
- Eclipse没有server 配置Tomcat
- hdu 1024 Max Sum Plus Plus
- Dubbo架构设计详解
- javatst2