将Numlua放在LUA_PATH上。

我尝试将numlua放在我的LUA_PATH中,以便我可以从任何地方使用它。它目前位于/usr/local/lib/lua/5.1/numlua。我可以成功地从/usr/local/lib/lua/5.1/numlua内部要求它(numlua)。目前,我有默认的LUA_PATH:

require "numlua"...

no file './numlua.lua'
no file '/usr/local/share/lua/5.1/numlua.lua'
no file '/usr/local/share/lua/5.1/numlua/init.lua'
no file '/usr/local/lib/lua/5.1/numlua.lua'
no file '/usr/local/lib/lua/5.1/numlua/init.lua'
no file '/usr/share/lua/5.1/numlua.lua'
no file '/usr/share/lua/5.1/numlua/init.lua'
no file './numlua.so'
no file '/usr/local/lib/lua/5.1/numlua.so'
no file '/usr/lib/x86_64-linux-gnu/lua/5.1/numlua.so'
no file '/usr/lib/lua/5.1/numlua.so'
no file '/usr/local/lib/lua/5.1/loadall.so'

然而,当我尝试从其他地方(例如~/)要求"numlua.numlua"时:

error loading module 'numlua.numlua' from file '/usr/local/lib/lua/5.1/numlua/numlua.so':
    /usr/local/lib/lua/5.1/numlua/numlua.so: undefined symbol: luaopen_numlua_numlua

(不用说,require"numlua"不起作用)。我也尝试过更改我的LUA_PATH,但是每当目录/文件在我的LUA_PATH上时,我总是遇到undefined symbol error。解决这个问题的最好方法是什么?

原文链接 https://stackoverflow.com/questions/9399510

点赞
stackoverflow用户734069
stackoverflow用户734069

NumLua 是一个 C 模块 DLL。LUA_PATH 用于存放 Lua 文件。你知道吧,就是那些以 .lua 结尾的文件。

C 模块的搜索路径是 LUA_CPATH

2012-02-22 17:10:18