我们想将第三方 Lua 模块(比如)foo
集成到我们的 CoronaSDK 应用程序中。
该模块模块的主要代码在foo/init.lua
,需要为require 'foo'
。
我们将此模块放入corona/foo
:
corona/foo$ ls
init.lua
在corona/main.lua
我们有:
package.path = package.path .. ";"
.. package.path:gsub("?.lua", "?/init.lua")
require 'foo'
在模拟器中工作。但是,它不适用于设备:
Lua Runtime Error: lua_pcall failed with status: 2, error message is:
module 'foo' not found:resource (foo.lua) does not exist in
archive
no field package.preload['foo']
no file '/var/mobile/Applications/0B609A43-54E8-40E5-9D44-F3C93CC4031E/Appname.app/foo.lua'
no file '/var/mobile/Applications/0B609A43-54E8-40E5-9D44-F3C93CC4031E/Appname.app/foo.lua'
no file '/var/mobile/Applications/0B609A43-54E8-40E5-9D44-F3C93CC4031E/Appname.app/foo/init.lua'
no file '/var/mobile/Applications/0B609A43-54E8-40E5-9D44-F3C93CC4031E/Appname.app/foo/init.lua'
no file './foo.so'
奇怪的是,require 'foo.init'
确实有效。
有什么线索吗?