2017-01-15 6 views
0

dllから関数にアクセスするために、ライブラリをLuaRocks経由でインストールしたいと考えています。残念なことに私はバイナリを見つけられなかったので、私は自分のコンピュータ上でffiライブラリをコンパイルする必要があると思った。グーグルグーグルの長い間、私はエイリアンライブラリを見つけたので、コマンドluarocks install alienでインストールしたかったのです。メッセージを受け取りました:AluaをインストールするLuaRocks

Installing https://luarocks.org/alien-0.7.1-2.src.rock 

Error: Could not find library file for FFI 
    No file ffi.lib in c:/external/lib 
    No file ffi.dll in c:/external/lib 
    No file libffi.dll in c:/external/lib 
You may have to install FFI in your system and/or pass FFI_DIR or FFI_LIBDIR to 
the luarocks command. 
Example: luarocks install alien FFI_DIR=/usr/local 

そして、ライブラリをインストールしませんでした。私は間違って何をしているのか知っています。私の質問は、このライブラリをインストールする方法/いくつかのffi lib dllバイナリを得ることです。

答えて

1

エイリアンはlibffiに拘束されています。そして、LuaRocksは外部の depsを扱っていないので、あなた自身でそれを構築して、それを入れなければなりません。 c:\external dir。 また、AlienにはWindowsではほとんど問題がありません。私は使用を提案することができますrockspec/repo

私はいくつかの外部ライブラリluaenvで基本的なディストリビューションを持っています。そこには、 prebuild libffi静的ライブラリfor Win32がMSVC 10/15でコンパイルされています。私は勝利64のためにビルドに失敗しました。また、libffiはMSVCのdllとしてビルドに問題があります。バージョン> 3.1を使用しようとすると、私は アクセス違反を受け取りました。

外部デプスを持たないluaffiライブラリもあり、Windowsで簡単にコンパイルする必要があります。新しいフォークluaffifbはrockspecファイルを提供しますが、まだリリースされていません。私は両方のMSVC 10/15でビルドできません。

もちろん、ffiモジュールを内蔵しているLuaJITが存在します。

関連する問題