LuaRocks安装Alien

我希望通过LuaRocks安装库来访问来自dll的函数。不幸的是,我没有找到二进制文件,所以我想在我的计算机上编译ffi库。在长时间的搜索后,我发现了Alien库,因此我想通过命令'luarocks install alien'安装它。然后我收到了以下消息:

安装https://luarocks.org/alien-0.7.1-2.src.rock

错误:找不到FFI库文件
  c:/external/lib中没有ffi.lib文件
  c:/external/lib中没有ffi.dll文件
  c:/external/lib中没有libffi.dll文件
您可能需要在系统中安装FFI和/或将FFI_DIR或FFI_LIBDIR传递给luarocks命令。
示例:luarocks install alien FFI_DIR=/usr/local

并且它没有安装库。我想知道我做错了什么,我的问题是如何安装此库/获取一些ffi lib dll二进制文件。

点赞
用户2328287
用户2328287

Alien正在绑定libffi。由于LuaRocks不能处理外部依赖项,您必须自行构建它并将其放在例如“c:\ external”目录中。此外,Alien在Windows上有一些问题。我可以建议使用我的rockspec/repo

我有带有一些外部库的基础发行版luaenv。您可以在那里找到为Win32预先构建的使用MSVC 10/15编译的libffi静态库。我无法为Win 64构建它。此外,libffi与使用版本> 3.1的dll构建存在问题。

还存在luaffi库,它没有外部依赖项,并且应易于在Windows上编译。新的分支luaffifb提供了rockspec文件,但尚未发布,我无法使用MSVC 10/15构建它。

当然,还存在具有内置ffi模块的LuaJIT。

2017-01-16 07:33:00