minko / lua 问题:premake5.lua:3:尝试索引全局 'minko'(零值)
minko / lua issue : premake5.lua:3: attempt to index global 'minko' (a nil value)
我正在使用 minko 并设法为 3 个平台(Linux、Android、HTML5)正确编译 MINKO SDK 并构建所有教程/示例。继续创建我自己的项目,我按照有关如何使用现有骨架项目的说明进行操作,然后使用现有示例项目。
(我认为这一行的框架代码中有错误:
auto sceneManager = SceneManager::create(canvas->context()); //does not compile
示例文件如下所示:
auto sceneManager = SceneManager::create(canvas); //compile and generate binary
我可以通过修改 premake5.lua(以包含更多插件)并调用 script/solution_gmake_gcc.sh 来做到这一点
一周前生成 make 解决方案。今天,我尝试在新文件夹中创建一个新项目,但调用
script/solution_gmake_gcc.sh 和 script/clean 失败并出现此错误:
minko-master/skel_tut/mycode/premake5.lua:3:尝试索引全局 'minko'(零值)
现在在 premake5.lua 第 3 行有这一行:minko.project.solution(PROJECT_NAME),
然而正弦我根本不熟悉 lua,任何人都可以阐明这个问题吗?
应该在这里声明什么,为什么突然失败了……?
(我仍然可以修改、编译和 运行 代码,但我不能添加更多插件)
PS:奇怪的是,之前的'working'项目此时也失败了。
谢谢。
(I believe there is an error in the skeleton code at this line :
这是可能的。我们的构建服务器不测试骨架代码。这是一个错误,我们会尽快修复以确保它正常工作。
script/solution_gmake_gcc.sh and script/clean failed with this error:
minko-master/skel_tut/mycode/premake5.lua:3: attempt to index global 'minko' (a nil value)
你能copy/paste你的premake5.lua文件吗?
另外,您为 MINKO_HOME 环境变量设置的值是多少?也许您已经移动了 SDK...
请注意,除了设置全局 MINKO_HOME 环境变量之外,您还可以在 premake5.lua 文件的开头设置相应的 LUA 常量。
PROJECT_NAME = path.getname(os.getcwd())
minko.project.application("minko-tutorial-" .. PROJECT_NAME)
files { "src/**.cpp", "src/**.hpp", "asset/**" }
includedirs { "src" }
-- plugins
minko.plugin.enable("sdl")
minko.plugin.enable("assimp")
minko.plugin.enable("jpeg")
minko.plugin.enable("bullet")
minko.plugin.enable("png")
--html overlay
minko.plugin.enable("html-overlay")
假设这确实是您的项目 premake5.lua
文件(下次请告诉我们代码标签),您应该在文件开头有 include "script"
:
https://github.com/aerys/minko/blob/master/skeleton/premake5.lua#L1
如果你没有这一行,它不会包含 script/premake5.lua
,它负责包含定义 minko
Lua 中所有内容的 SDK 构建系统文件=32=]。这就是您收到该错误的原因。
我认为您复制粘贴了 examples/tutorials premake5.lua
文件之一,而不是修改框架提供的文件。 examples/tutorials 的 premake conf 文件不同,因为它们包含在 SDK premake 文件中。但是您的应用程序 premake5.lua
执行 "opposite":它包含 SDK 配置文件而不是被它们包含。
最佳做法是编辑您应用的 premake5.lua
骨架副本(而不是 examples/tutorials 中的 copy/pasting)。
我正在使用 minko 并设法为 3 个平台(Linux、Android、HTML5)正确编译 MINKO SDK 并构建所有教程/示例。继续创建我自己的项目,我按照有关如何使用现有骨架项目的说明进行操作,然后使用现有示例项目。
(我认为这一行的框架代码中有错误:
auto sceneManager = SceneManager::create(canvas->context()); //does not compile
示例文件如下所示:
auto sceneManager = SceneManager::create(canvas); //compile and generate binary
我可以通过修改 premake5.lua(以包含更多插件)并调用 script/solution_gmake_gcc.sh 来做到这一点 一周前生成 make 解决方案。今天,我尝试在新文件夹中创建一个新项目,但调用
script/solution_gmake_gcc.sh 和 script/clean 失败并出现此错误:
minko-master/skel_tut/mycode/premake5.lua:3:尝试索引全局 'minko'(零值)
现在在 premake5.lua 第 3 行有这一行:minko.project.solution(PROJECT_NAME), 然而正弦我根本不熟悉 lua,任何人都可以阐明这个问题吗? 应该在这里声明什么,为什么突然失败了……? (我仍然可以修改、编译和 运行 代码,但我不能添加更多插件)
PS:奇怪的是,之前的'working'项目此时也失败了。
谢谢。
(I believe there is an error in the skeleton code at this line :
这是可能的。我们的构建服务器不测试骨架代码。这是一个错误,我们会尽快修复以确保它正常工作。
script/solution_gmake_gcc.sh and script/clean failed with this error:
minko-master/skel_tut/mycode/premake5.lua:3: attempt to index global 'minko' (a nil value)
你能copy/paste你的premake5.lua文件吗? 另外,您为 MINKO_HOME 环境变量设置的值是多少?也许您已经移动了 SDK...
请注意,除了设置全局 MINKO_HOME 环境变量之外,您还可以在 premake5.lua 文件的开头设置相应的 LUA 常量。
PROJECT_NAME = path.getname(os.getcwd())
minko.project.application("minko-tutorial-" .. PROJECT_NAME)
files { "src/**.cpp", "src/**.hpp", "asset/**" }
includedirs { "src" }
-- plugins
minko.plugin.enable("sdl")
minko.plugin.enable("assimp")
minko.plugin.enable("jpeg")
minko.plugin.enable("bullet")
minko.plugin.enable("png")
--html overlay
minko.plugin.enable("html-overlay")
假设这确实是您的项目 premake5.lua
文件(下次请告诉我们代码标签),您应该在文件开头有 include "script"
:
https://github.com/aerys/minko/blob/master/skeleton/premake5.lua#L1
如果你没有这一行,它不会包含 script/premake5.lua
,它负责包含定义 minko
Lua 中所有内容的 SDK 构建系统文件=32=]。这就是您收到该错误的原因。
我认为您复制粘贴了 examples/tutorials premake5.lua
文件之一,而不是修改框架提供的文件。 examples/tutorials 的 premake conf 文件不同,因为它们包含在 SDK premake 文件中。但是您的应用程序 premake5.lua
执行 "opposite":它包含 SDK 配置文件而不是被它们包含。
最佳做法是编辑您应用的 premake5.lua
骨架副本(而不是 examples/tutorials 中的 copy/pasting)。