【问题标题】:LuaRocks installing AlienLuaRocks 安装 Alien
【发布时间】:2017-01-16 15:33:00
【问题描述】:

我想通过 LuaRocks 安装库以访问 dll 中的函数。不幸的是我没有找到二进制文件,所以我认为我需要在我的计算机上编译一个 ffi 库。经过长时间的谷歌搜索,我找到了 Alien 库,所以我想通过命令luarocks install alien 安装它。然后我收到一条消息:

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

Error: Could not find library file for FFI
  No file ffi.lib in c:/external/lib
  No file ffi.dll in c:/external/lib
  No file libffi.dll in c:/external/lib
You may have to install FFI in your system and/or pass FFI_DIR or FFI_LIBDIR to
the luarocks command.
Example: luarocks install alien FFI_DIR=/usr/local

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

【问题讨论】:

    标签: lua


    【解决方案1】:

    Alien 绑定到 libffi。并且因为 LuaRocks 不处理外部 deps 你必须自己构建它并将其放入例如c:\external 目录。 Alien 在 Windows 上也几乎没有问题。我可以建议使用我的rockspec/repo

    我有基本的发行版,很少有外部库luaenv。你可以在那里找到 为使用 MSVC 10/15 编译的 Win32 预构建 libffi 静态库。我无法为 Win 64 构建它。libffi 也存在使用 MSVC 将其构建为 dll 的问题。我得到了 尝试使用版本 > 3.1 时访问冲突。

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

    当然还有内置 ffi 模块的 LuaJIT。

    【讨论】:

      猜你喜欢
      • 2017-05-10
      • 2016-03-22
      • 2021-02-09
      • 2018-02-14
      • 2018-11-08
      • 2013-08-03
      • 2016-06-10
      • 2018-08-10
      • 2015-08-20
      相关资源
      最近更新 更多