【发布时间】:2015-01-11 15:00:26
【问题描述】:
我在 Kubuntu 12.04 下使用 lua 5.3beta。我使用 swig used 和 gcc4.9 包装了一个 c 扩展,用于编译和链接。如果我将 mylib.so 放在我的 lua 脚本所在的同一目录中:
require "mylib"
工作正常。但是如果 mylib.so 不在同一个目录中,我会收到错误消息
module 'mylib' not found
我将 mylib 的路径添加到 LD_LIBRARY_PATH 并插入
package.path = package.path .. ';' .. path2mylib .. '/?
在我的脚本中。与
package.path = package.path .. ';' .. path2mylib .. '/?.so
错误信息是:
mylib.so:1: unexpected symbol near '<\127>
我猜 lua 会尝试加载 mylib.so,假设它是一个 lua 脚本。 lua 似乎只在某些标准路径(包括 ./)中查找共享对象,并且添加到 package.path 的所有路径都被视为 lua 文件的路径。
有什么方法可以让 lua 加载我的 c 扩展而不将其放入标准库路径之一?
【问题讨论】:
标签: lua