如何在lua 5.3中使用luaXML

时间:2018-08-29 13:52:41

标签: lua luarocks luaxml

我将与LUA合作,我的目标是使运行使用lausocket和luaXML的脚本来完成其任务。

我正在使用Windows 2012 Server 64bit,我已经在两个文件的IBM IDOL 11文件夹中拥有LUA编译器:

  • lua53.exe
  • lua53.dll

问题是我没有任何lua头文件目录来指向安装luarocks,因此我从官方LUA 5.3.4中获取了头文件目录。一切正常,我在系统上为Windows安装了laurocks 2.4.4,并使用

命令成功安装了luasocket
c:\luarocks install luasocket

luaXML引起了问题。

使用命令

c:\luarocks install luaxml

我得到了错误

Installing https://luarocks.org/luaxml-101012-1.src.rock
C:\Program_Files\mingw-w64\x86_64-8.1.0-posix-sjlj-rt_v6-rev0\mingw64\bin\gcc.exe -O2 -c -o LuaXML_lib.o -IC:/Program Files (x86)/lua/5.3/include LuaXML_lib.c
LuaXML_lib.c: In function 'Xml_eval':
LuaXML_lib.c:284:17: warning: implicit declaration of function 'lua_objlen'; did you mean 'lua_len'? [-Wimplicit-function-declaration]
    int newIndex=lua_objlen(L,-1)+1;
                 ^~~~~~~~~~
                 lua_len
LuaXML_lib.c: In function 'luaopen_LuaXML_lib':
LuaXML_lib.c:415:2: warning: implicit declaration of function 'luaL_register'; did you mean 'lua_register'? [-Wimplicit-function-declaration]
  luaL_register(L, "xml", funcs);
  ^~~~~~~~~~~~~
  lua_register
C:\Program_Files\mingw-w64\x86_64-8.1.0-posix-sjlj-rt_v6-rev0\mingw64\bin\gcc.exe -shared -o LuaXML_lib.dll LuaXML_lib.o C:/MF_IDOLServer/cfs/lua_ide_files/bin/lua53_win64/lua53.dll -lm
LuaXML_lib.o:LuaXML_lib.c:(.text+0xd23): undefined reference to `lua_objlen'
LuaXML_lib.o:LuaXML_lib.c:(.text+0xf20): undefined reference to `lua_objlen'
LuaXML_lib.o:LuaXML_lib.c:(.text+0x1103): undefined reference to `luaL_register'
collect2.exe: error: ld returned 1 exit status

Error: Build error: Failed compiling module LuaXML_lib.dll

我搜索了此错误,发现这是由于luaXML lib和lua 5.3之间不兼容,luaxml-101012-1和luaxml-101012-2仅支持lua 5.1,但不支持lua 5.3。

所以我尝试使用luaxml库的最新版本:

luarocks install luaxml 130610-1

结果:

Error: luaxml 130610-1 supports only Lua 5.2 but not Lua 5.3.

如何继续在系统上安装luaXML并运行我拥有的.lua脚本?

谢谢大家的任何建议!

0 个答案:

没有答案