【问题标题】:IUP for Lua stopped working on Windows XPLua 的 IUP 在 Windows XP 上停止工作
【发布时间】:2012-01-09 17:31:15
【问题描述】:

我从require "iuplua" 收到以下错误

lua: budgelua5.lua:3: module 'iuplua' not found:
    no field package.preload['iuplua']
    no file 'z:\Program Files\Lua\5.1\lua\iuplua.lua'
    no file 'z:\Program Files\Lua\5.1\lua\iuplua.luac'
    no file 'z:\Program Files\Lua\5.1\lib\iuplua.lua'
    no file 'iuplua.lua'
    no file '.\iuplua.lua'
    no file 'z:\Program Files\Lua\5.1\lua\iuplua.lua'
    no file 'z:\Program Files\Lua\5.1\lua\iuplua\init.lua'
    no file 'z:\Program Files\Lua\5.1\iuplua.lua'
    no file 'z:\Program Files\Lua\5.1\iuplua\init.lua'
    no file 'z:\Program Files\Lua\5.1\lua\iuplua.luac'
    no file 'z:\Program Files\Lua\5.1\lua\iuplua\iuplua.lua'
    no file 'z:\Program Files\Lua\5.1\clibs\iuplua.dll'
    no file 'iuplua.dll'
    no file '.\libiuplua51.dll'
stack traceback:
    [C]: in function 'require'
    budgelua5.lua:3: in main chunk
    [C]: ?
>Exit code: 1

很确定这是路径问题,但我不知道如何解决。

【问题讨论】:

    标签: lua iup


    【解决方案1】:

    问题是iuplua 真的被命名为iuplua51。默认的package.cpath 通常在 Lua 的 Windows 版本上进行编辑,以包含包含 ?51 的模式,以获取具有 Lua 版本号以及通常路径的 DLL。例如,我当前安装的 Lua for Windows 有以下内容:

    P:\Data\PhotoArchive>lua Lua 5.1.4 版权所有 (C) 1994-2008 Lua.org, PUC-Rio > 打印(package.cpath) .\?.dll;.\?51.dll;C:\Program Files\Lua\5.1\?.dll;C:\Program Files\Lua\5.1\?51.dl l;C:\Program Files\Lua\5.1\clibs\?.dll;C:\Program Files\Lua\5.1\clibs\?51.dll;C: \Program Files\Lua\5.1\loadall.dll;C:\Program Files\Lua\5.1\clibs\loadall.dll >

    请注意,package.path 通常不会做同样的事情,因为用 Lua 编写的模块通常对 Lua 核心版本没有那么强的依赖性,或者如果有,它们可以在运行时解决这些问题比用 C 编写的模块要容易得多。

    另外,请注意 IUP 尚不能与全新的 Lua 5.2 版本一起使用。该团队一直在工作,从他们最近发布的 CD 和 IM 现在与 5.2 兼容的版本来看,可能会“很快”移植它。

    【讨论】:

    • 我将路径更改为与您的路径相似,这修复了“需要“iuplua”,但我仍然遇到“需要“iupcontrols”的问题。”不过,感谢您对 dll 版本控制方式和原因的解释,我得以修复它!
    猜你喜欢
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    • 2017-05-29
    • 2013-05-15
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多