LuaXml库的编译
来源:互联网 发布:电脑语音输入软件 编辑:程序博客网 时间:2024/04/30 12:16
之前项目有用到LuaXml库,用于在nginx-lua中解析xml消息包。后来部署服务器时居然编译不过,具体步骤也忘记了,这里开单张重新梳理下,同时网上关于LuaXml编译的文章也很少,这里也给自己留个底。
LuaXml的编译需要Lua支持,LuaXml目前支持lua5.1和lua5.2。这里的lua库如果从官网上直接下载对应的版本,在编译LuaXml时会出现符号链接出错Bad Value的提示。
建议使用如下命令安装lua。
ubuntu:
apt-get install lua5.1apt-get install liblua5.1-devapt-get install liblua5.1-socket2
centos可以使用yum安装。这样的目的是为了让系统默认寻找最匹配的lua库。
然后下载5.1版本的LuaXml,官网地址为:官网。下载完后,需要修改其中的Makefile文件,将头文件和库文件的目录换成系统中lua头文件和库文件所在的目录。
如果不清楚,可以先查找一下.
查找头文件 find / -name "lua.h" ,显示在/usr/include/lua5.1。查找库文件 find / -name "liblua*.a",显示在/usr/lib/i386-linux-gnu。 如下所示:
<span style="font-size:14px;">CC = gccINCDIR = -I../lua/srcLIB = LIBDIR = -L. -L../lua/srcCFLAGS = -Os -Wall -c #-g</span>
改为:
<span style="font-size:14px;">CC = gccINCDIR = -I/usr/include/lua5.1LIB =LIBDIR = -L. -L/usr/lib/i386-linux-gnuCFLAGS = -Os -Wall -c #-g</span>
然后make。这里可能会提示找不到llua
<span style="font-size:18px;">root@ubuntu:/home/wangc/software/LuaXML_101012# makegcc -Os -Wall -c -fPIC -I/usr/include/lua5.1 -c LuaXML_lib.cgcc -o LuaXML_lib.so -fPIC -shared LuaXML_lib.o -L. -L/usr/lib/i386-linux-gnu -llua -ldl /usr/bin/ld: cannot find -lluacollect2: ld returned 1 exit statusmake: *** [LuaXML_lib.so] Error 1</span>
我们需要修改Makefile,将其中的llua替换成llua5.1。重新make,这时应该会生成LuaXML_lib.so文件了。
如何使用呢,这里将LuaXML_lib.so和LuaXml.lua拷贝至工程目录,并将工程目录写入系统环境变量中,后续的使用参考我的另外一篇博客:Nginx+Lua环境中利用LuaXml解析Xml 。
至此,LuaXml库的编译就到此为止了。
0 0
- LuaXml库的编译
- luaXml库的使用方法
- LuaXml 简单介绍
- LuaXml 简单介绍
- openresty安装LuaXml
- 在Quick-cocos2d-x中使用LuaXML
- Nginx+Lua环境中利用LuaXml解析Xml
- STLPort库的编译
- detours库的编译
- Boost库的编译
- Boost库的编译
- Boost库的编译
- GDAL库的编译
- boost库的编译
- 有关编译的库
- Boost 库的编译
- boost库的编译
- libevent库的编译
- 校园招聘面试-操作系统知识总结
- Android开发之Manifest.xml详解
- Ubuntu下firefox更新、中文及同步
- 自己手打的模板
- fork() && fork() || fork()
- LuaXml库的编译
- excel 2007 直方图 条图 黑白 条纹填充
- 面试题-求一个串包含另一个串的最大子串长度的解法
- android系统获取系统相关信息(如Android设备的唯一ID等)(源码)
- [unix]指令大全
- 快速排序
- C#获取电脑的相关信息
- MySql常用控制语句
- 内存对齐