FreeSWITCH 中的lua脚本里使用cjson的办法

原创 2015年07月07日 14:25:28

可以直接用FreeSWITCH自带的lua 5.2版本,其源码目录是

freeswitch/src/mod/languages/mod_lua/lua

下面是我的使用过程

Mac OS 10.10.x

wget http://www.kyne.com.au/~mark/software/download/lua-cjson-2.1.0.tar.gz
tar xvzf lua-cjson-2.1.0.tar.gz
cd lua-cjson-2.1.0 
mkdir build
export LUA_DIR=/Users/liyang/freeswitch/src/mod/languages/mod_lua/lua
cd build
cmake ..

这里cmake 如果出错则

cd $LUA_DIR
make macosx

在编译

cd bulid
cmake ..
cd ..
make
cp cjson.so /usr/local/lib/lua/5.2/

注:FreeSWITCH自带了lua5.2版本,但只是编译到mod_lua,/usr/local/lib/lua/5.2/这个目录可能不存在,可以手动创建一个

Centos 6.x

wget http://www.kyne.com.au/~mark/software/download/lua-cjson-2.1.0.tar.gz
yum install -y readline-devel
export LUA_DIR=/root/work/src/freeswitch/src/mod/languages/mod_lua/lua

cd $LUA_DIR && make linux

tar xvzf lua-cjson-2.1.0.tar.gz
cd lua-cjson-2.1.0 && make
cp cjson.so /usr/local/lib/lua/5.2/

注:make中可能会出现找不到lua.h的问题,修改Makefile,将其头文件目录包含$LUA_DIR即可。 /usr/local/lib/lua/5.2/目录问题同上

例子

附上测试程序:

local cjson = require "cjson"
--json_text = '[ true, { "foo": "bar" } ]'
json_text = { foo = "bar" };
value = cjson.encode(json_text)
freeswitch.consoleLog("info", value)

从FreeSWITCH的console调用测试即可

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

在FreeSWITCH中执行长期运行的嵌入式脚本--Lua语言例子

http://www.dujinfang.com/2010/03/14/zai-freeswitchzhong-zhi-xing-chang-qi-yun-xing-de-qian-ru-shi-ji...

《FreeSWITCH: VoIP实战》: 一个在FreeSWITCH中外呼的Lua脚本

一个在FreeSWITCH中外呼的脚本   前几天,一个朋友问我能否实现在FS中外呼,然后放一段录音,我说当然能,写个简单的脚本就行。但后来他说还要知道呼叫是否成功,我说,那就需要复杂一点了。 ...
  • tcscy
  • tcscy
  • 2017-05-04 14:07
  • 216

redis中的事务、lua脚本和管道的使用场景

事务redis中的事务并不像mysql中那么完美,只是简单的保证了原子性。redis中提供了四个命令来实现事务,MULTI:类似于mysql中的BEGIN;EXEC:类似于COMMIT;DISCARD...

Cocos2d-x 如何使用Lua脚本

  • 2013-12-06 13:30
  • 1.56MB
  • 下载

linux上使用tshark运行lua脚本

linux上使用tshark运行lua脚本一些注意点

ios开发lua脚本的使用

  • 2014-08-10 22:46
  • 820KB
  • 下载

使用luajit将lua脚本编译成字节码

1、下载luajit 传送门:http://luajit.org/download.html 2、安装luajit 官方:http://luajit.org/install.html cd L...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)