【问题标题】:Lua Error Loading Limlib2 Library even though it's already installed?Lua 加载 Limlib2 库时出错,即使它已经安装?
【发布时间】:2016-09-30 22:59:40
【问题描述】:

我已经安装了 limlib2 和所有东西,我已经检查了目录以查看它是否存在,并且 limlib2 在那里。我编译了一些使用

的 lua 代码
    require("limlib2")

我收到此错误:

lua:从文件“/usr/local/lib/lua/5.3/limlib2.so”加载模块“limlib2”时出错: dlopen(/usr/local/lib/lua/5.3/limlib2.so,6):找不到符号:_luaL_checkint 引用自:/usr/local/lib/lua/5.3/limlib2.so 预期在:平面命名空间 在 /usr/local/lib/lua/5.3/limlib2.so 堆栈回溯: [C]:在? [C]:在函数“要求”中 imgpxl.lua:1: 在主块中 [C]:在?

有什么帮助吗?我不明白发生了什么。

【问题讨论】:

  • 你从哪里得到limlib2.so?它似乎(根据 Piglet 的评论)是为 lua 5.2 构建的,但您已安装它以与 lua 5.3 一起使用。

标签: lua


【解决方案1】:

limlib2 引用了 _luaL_checkint,它在 Lua 5.3 中失败,因为 _luaL_checkint 在 Lua 5.2 中已被 _luaL_checkinteger 替换

_luaL_checkint 已弃用。只需 google 搜索 _luaL_checkint 即可找到大量解决方法。

查看:Cannot make gunplot on osx yosemite. Undefined symbols

imlib2 似乎已经 8 年多没有更新了。所以难怪你会遇到问题

【讨论】:

  • 谢谢!也只是一个问题,我发现我需要一些#define 语句,我是否必须在模块(c 代码)本身中编辑它?
  • 是的。问题出在c代码中,所以你必须在那里修复它。
  • 我可以编辑的c代码在哪里,我似乎只有库文件(.so)
  • 来源应该链接在这里。这是作者的网站。联系他并要求他更新他的存储库
  • 我已经使用 luarocks 安装了库,是否可以分叉存储库并进行编辑然后以某种方式安装?
猜你喜欢
  • 1970-01-01
  • 2021-08-18
  • 2017-04-30
  • 2012-05-16
  • 2017-04-26
  • 2019-02-02
  • 1970-01-01
  • 2011-07-18
  • 2019-05-09
相关资源
最近更新 更多