【问题标题】:Forcing Luarocks to compile/link 32 bit dll强制 Luarocks 编译/链接 32 位 dll
【发布时间】:2022-08-06 00:57:10
【问题描述】:

我正在使用 Luarocks(使用 Visual Studio 2022 中的编译器)安装 lpeg 模块。它似乎运行良好,除非我需要生成的 lpeg.dll 我得到:

发生错误 - 插件无法完成 从文件 \'C:\\Program Files (x86)\\XXXX\\Lua\\lpeg.dll\' 加载模块 \'lpeg\' 时出错: %1 不是有效的 Win32 应用程序。

这表明它已作为 64 位 dll 链接,而它运行的环境必须是 32 位。

我可以找到有关如何通过更改项目设置来配置 VS 以生成 32 位 dll 的各种说明,但没有关于如何使 Luarocks 执行相同操作的说明。 MinGW 不是一个选项

如何强制 Luarocks 和 Visual Studio 2022 创建 32 位 dll?

注意:我已阅读此 documentation 并希望开始

x64_x86 Cross Tools Command Prompt - 将环境设置为使用 64 位 x64 原生工具来构建 32 位 x86 原生代码。

然后运行luarocks install lpeg 将实现我想要的,但它没有。

我还尝试了“开发人员命令提示符”和 x64-x86 交叉工具命令提示符,但均未成功。

    标签: visual-studio lua luarocks


    【解决方案1】:

    我有同样的问题。我想知道是否有某种方法可以将 64 位 dll 转换为 32 位,因为在 Visual Studio 中弄清楚如何做到这一点似乎是不可能的。我正在尝试在嵌入 mpv 的 lua 中使用 lfs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 2014-08-15
      • 2017-03-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多