在 Windows 10 中构建 Lua 库 lpack '%1 不是有效的 Win32 应用程序。'

使用这里的指示。由于 cl.exe 的过时选项进行更新导致出现以下错误

lua: 从文件 './pack.dll' 加载模块 'pack' 时出错:
        %1 不是有效的 Win32 应用程序。

当我尝试测试已编译的 pack.dll 时,会出现此错误。

完整的命令行输出如下所示:

C:\luawin\lpack-master\pack>cl /c /W1 /Zl /Zi /MD /DWIN32 lpack.c
Microsoft (R) C/C++ 优化编译器版本 19.13.26129 (x86)
版权所有 (C) Microsoft Corporation。保留所有权利。

lpack.c

C:\luawin\lpack-master\pack>link /dll /out:pack.dll /base:0x67400000
/machine:ix86 /export:luaopen_pack lpack.obj lua5.3.lib msvcrt.lib
Microsoft (R) Inkrementell Linker-Version 14.13.26129.0
Copyright (C) Microsoft Corporation.
Alle Rechte vorbehalten.

Erstellen von Bibliothek pack.lib und Objekt pack.exp

C:\luawin\lpack-master\pack>lua -e "package.cpath='./?.dll' require
'pack' print(string.pack('b3', 76, 117, 97))"
lua: 从文件 './pack.dll' 加载模块 'pack' 时出错:
    %1 不是有效的 Win32 应用程序。

stack traceback:
    [C]: in ?
    [C]: in function 'require'
    (command line):1: in main chunk
    [C]: in ?

我想这可能是某种架构选项问题。

点赞