Premake 在我的 repo 中找不到 lua 脚本(在我的主力机上完全相同的 repo 可以工作)

我有一个 GitHub repo,它有一个在我的主力机上工作的 premake 实现,但在我的笔记本电脑上却不工作。

当我运行我的 Python 脚本以生成项目文件时,我会收到错误消息:"No Premake script (premake5.lua) found!"

因此,我决定在我的笔记本电脑上遵循 Premake 的编写第一个脚本教程,并创建一个包含四个文件的目录:premake5.exe、premake5.lua、hello.c 和 generate_project_files.py。但它仍然不工作,我收到相同的错误消息。您可以在下面看到这些文件。我还添加了一个循环来打印目录中的所有文件。当脚本运行时,在说找不到 premake5.lua 之后,它列出了所有的文件(包括 premake5.lua)。

Python 脚本:

import os
import subprocess

premake_dir = os.path.dirname(os.path.realpath(__file__)) + "\\"

args = [
        premake_dir + "premake5.exe",
        "vs2017",
        "--file=" + premake_dir + "premake5.lua"
        ]

subprocess.run(args)

for file in os.listdir(premake_dir):
    print(file)

Lua 脚本:

-- premake5.lua
workspace "HelloWorld"
   configurations { "Debug", "Release" }

project "HelloWorld"
   kind "ConsoleApp"
   language "C"
   targetdir "bin/%{cfg.buildcfg}"

   files { "**.h", "**.c" }

   filter "configurations:Debug"
      defines { "DEBUG" }
      symbols "On"

   filter "configurations:Release"
      defines { "NDEBUG" }
      optimize "On"

我不知道如何解决这个问题,因为我以前从未遇到过这个问题,在寻找解决方法后,我没能找到任何相关的东西。如果您曾经遇到过类似的问题或知道解决方法,请分享一下。

点赞
用户2262111
用户2262111

这可能是由于主 PC 和另一个 PC 上 LUA_PATH/LUA_CPATH 的差异造成的。比较两个 Lua 环境中的 package.path 和 package.cpath。确保它在路径中。

2018-02-25 13:07:32