正确设置 lua 默认搜索路径以找到所需的 lua 模块
set lua default search path correctly to find required lua module
我有一个 visual studio 项目,其中 C++ 代码调用 lua 个文件。
我尝试加载 lua 模块,但找不到。
如果理解正确的话,package.path可以设置i.a。通过 LUA_PATH 环境变量。
因此,在 运行 lua 文件之前,我调用了一个脚本,其中包含用于设置 lua 模块的父文件夹路径的脚本:
set LUA_PATH=%LUA_PATH%;C:\Users\xyz\lua
然后在 lua 文件中,我尝试用字符串连接搜索路径,但不起作用:
package.path = package.path .. "./?.lua;"
编辑:
print(package.path)
的输出:
;C:\Users\xyz\lua;./?.lua;
但我想要
;C:\Users\xyz\lua\?.lua;
编辑:
我忘了删除 LUA_PATH 末尾的分号。
现在它可以在没有 package.path 行的情况下工作。
set LUA_PATH=%LUA_PATH%;C:\Users\xyz\lua
这会在 C:\Users\xyz\lua
前面添加一个 ;
除非 LUA_PATH
已经包含某些内容。你可能想要这样的东西:
IF DEFINED LUA_PATH (
set LUA_PATH=%LUA_PATH%;
)
set LUA_PATH=%LUA_PATH%C:\Users\xyz\lua
package.path = package.path .. "./?.lua;"
这会在末尾添加一个 ;
并在您可能需要 \
的位置添加 ./
所以试试这个:
package.path = package.path .. "\?.lua"
我有一个 visual studio 项目,其中 C++ 代码调用 lua 个文件。
我尝试加载 lua 模块,但找不到。 如果理解正确的话,package.path可以设置i.a。通过 LUA_PATH 环境变量。 因此,在 运行 lua 文件之前,我调用了一个脚本,其中包含用于设置 lua 模块的父文件夹路径的脚本:
set LUA_PATH=%LUA_PATH%;C:\Users\xyz\lua
然后在 lua 文件中,我尝试用字符串连接搜索路径,但不起作用:
package.path = package.path .. "./?.lua;"
编辑:
print(package.path)
的输出:
;C:\Users\xyz\lua;./?.lua;
但我想要
;C:\Users\xyz\lua\?.lua;
编辑: 我忘了删除 LUA_PATH 末尾的分号。 现在它可以在没有 package.path 行的情况下工作。
set LUA_PATH=%LUA_PATH%;C:\Users\xyz\lua
这会在 C:\Users\xyz\lua
前面添加一个 ;
除非 LUA_PATH
已经包含某些内容。你可能想要这样的东西:
IF DEFINED LUA_PATH (
set LUA_PATH=%LUA_PATH%;
)
set LUA_PATH=%LUA_PATH%C:\Users\xyz\lua
package.path = package.path .. "./?.lua;"
这会在末尾添加一个 ;
并在您可能需要 \
的位置添加 ./
所以试试这个:
package.path = package.path .. "\?.lua"