OSX加载dylib Lua模块

Nex*_*xus 4 macos lua shared-libraries dylib

尝试在OSX上加载Lua模块时,我收到以下错误.

lua: level1.lua:1: module 'libexpand_luaLib' not found:
    no field package.preload['libexpand_luaLib']
    no file './libexpand_luaLib.lua'
    no file '/opt/local/share/lua/5.1/libexpand_luaLib.lua'
    no file '/opt/local/share/lua/5.1/libexpand_luaLib/init.lua'
    no file '/opt/local/lib/lua/5.1/libexpand_luaLib.lua'
    no file '/opt/local/lib/lua/5.1/libexpand_luaLib/init.lua'
    no file './libexpand_luaLib.so'
    no file '/opt/local/lib/lua/5.1/libexpand_luaLib.so'
    no file '/opt/local/lib/lua/5.1/loadall.so'
stack traceback:
    [C]: in function 'require'
    level1.lua:1: in main chunk
    [C]: ?
Run Code Online (Sandbox Code Playgroud)

lua解释器正在尝试加载.so文件而不是.dylib文件.我的印象是.dylib是.so的OSX等效(略有变化).所以我希望Lua解释器能够查找.dylib文件.

我是否应该尝试将我的库编译成OSX上的.so?(如果是这样的话?)或者我应该更改与lua解释器相关的内容?

jpj*_*obs 5

无需更改解释器(前提是.dynlib是可加载的(按照Lua编程,第26章)).在需要模块之前,您可以更改package.cpath以查找.dynlibs而不是.so的.