0

次のエラーが発生します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

これがパスの問題であることは確かですが、修正方法がわかりません。

4

1 に答える 1

1

問題は、それiupluaが実際にという名前であるということiuplua51です。デフォルトは通常、LuaのWindowsビルドで編集され、Luaのバージョン番号と通常のパスを持つDLLを取得するためpackage.cpathのパターンが含まれています。?51たとえば、LuaforWindowsの現在のインストールには次のものがあります。

P:\ Data \ PhotoArchive> lua
Lua 5.1.4 Copyright(C)1994-2008 Lua.org、PUC-Rio
> print(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
>>

Luaで記述されたモジュールは通常、Luaコアのバージョンにそれほど強く依存していないため、通常は同じことが行われないことに注意してくださいpackage.path。依存している場合は、実行時に記述されたモジュールよりもはるかに簡単に問題を回避できます。 C缶で。

また、IUPは新しいLua5.2リリースで動作するようにまだ利用できないことに注意してください。チームは作業を続けており、5.2と互換性のあるCDおよびIMの最近のリリースから判断すると、「間もなく」移植される可能性があります。

于 2012-01-10T09:14:31.647 に答える