【问题标题】:how to use / include lpeg luapeg re module如何使用/包含 lpeg luapeg re 模块
【发布时间】:2013-08-26 05:55:49
【问题描述】:

ATM 我正在​​尝试从我的应用程序中执行 lua 文件,这适用于基本 lua。我正在使用 borland 编译器(builder 3,只是不要问>.

现在我正在尝试通过 re 模块使用 lpeg。我已将 lpeg 目录添加到 LUA_PATH 环境变量中。该目录包括重新。 lua、来自 LuaForWindows 的 lpeg.dll 和 *.c 文件。

现在,当我尝试启动我的脚本时,我得到了错误 从文件“lpeg.dll”加载模块“lpeg”时出错: lpeg.dll:1: char(144) 附近的语法错误

相同的脚本在 LuaForWindows 的 IExecutor 中完美运行。

我想我的 lua 环境设置完全错误。我把dll放在哪里?我必须用我的编译器自己构建它吗? (尝试过,但失败了)

提前致谢。

【问题讨论】:

  • 你能补充一下在你的项目中是如何使用 borland builder 3 的吗?它是否用于构建您的应用程序? lua 解释器? lpeg 是用它构建的吗?

标签: lua require lpeg


【解决方案1】:

错误消息提示 Lua 试图将 DLL 作为 Lua 脚本加载。 DLL 和 Lua 库有不同的路径,不要混合使用。

换句话说,如果 Lua 使用 LUA_PATH 或 package.path 中的路径找到 DLL,它将尝试将其作为 Lua 脚本加载。使用LUA_CPATH 或package.cpath 将DLL 放在找到它的位置。

【讨论】:

  • 好吧,没有像 lpeg.lua 这样的东西,那么标准的 re.lua 试图加载什么?
  • @confusedandtired,请参阅我编辑的答案。告诉我们答案中提到的路径的内容以及 DLL 在哪里。
  • 啊,好的。我还没有 LUA_CPATH 变量。我将它与 dll 的路径一起添加。看起来它现在正在尝试加载它,但现在我在 luaD_call 中遇到了 lua5.1.dll 中的访问冲突
猜你喜欢
  • 2015-08-12
  • 1970-01-01
  • 2020-09-29
  • 2019-01-28
  • 2016-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-28
相关资源
最近更新 更多