2

我已经使用 luarocks 安装了 luaxml 模块。我曾使用 luaxml 调用 lua 脚本。但是出现错误

Lua脚本:

xml = require("LuaXml");
local xobj = xml.eval('<Cmd Message="Hello"/>');
session:consoleLog("INFO","The message in the XML is "..xobj["Message"].."\n");

错误:

mod_lua.cpp:203 error loading module 'LuaXml' from file '/usr/local/lib/lua   
/5.2/LuaXML_lib.so': /usr/local/lib/lua/5.2/LuaXML_lib.so: undefined symbol:  
luaopen_LuaXml
stack traceback:
[C]: ?
[C]: in function 'require'

我已经看到动态添加库到 Lua 的概念,但我无法理解。谁能帮我吗。简要说明如何将核心模块 luaxml 与脚本链接。另一个问题我如何测试通过 luarocks 安装的模块 luaxml 是否安装。

4

1 回答 1

0

的输出nm -g /usr/lib/lua/5.1/LuaXML_lib.so告诉我们这个文件是导出的,而luaopen_LuaXML_lib不是需要的。luaopen_LuaXMLrequire("LuaXml")

现在我不知道为什么require("LuaXml")要打开/usr/lib/lua/5.1/LuaXML_lib.so。它应该按此顺序查找LuaXM.soor LuaXml.lua

LuaXML 通过加载来工作LuaXml.lua,它确实如此require("LuaXML_lib")。这将加载 LuaXML_lib.so.

LUA_CPATH也许您的or中有错误package.cpath

于 2014-06-06T11:19:23.447 回答