未定义符号:luaopen_LuaXml



我已经使用luarrocks安装了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与脚本链接起来。另一个问题,我如何通过luarrocks测试是否安装了模块luaxml。

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

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

LuaXML通过加载LuaXml.lua工作,require("LuaXML_lib")。这将加载LuaXML_lib.so

可能你的LUA_CPATHpackage.cpath有错误

最新更新