aerospike erlang クライアントを Fedora 21 のグローバル モジュールとして erlang 環境に統合したいと考えています。クライアントの nif とモジュールを作成することはできますが、常にすべてのプロジェクトでファイルをコピーする必要があります。ここで、erlang や os モジュールのような aerospike モジュールを使用したいと考えています。どうすればこれを作ることができますか?
1 に答える
0
Aerospike バインディングを試したときに同じ問題が発生しました。問題は、.so
ファイルが現在の作業ディレクトリにあると想定されることです。aerospike.erl
パスに関係なく正しく配置されるように、小さな変更を加えました。
交換
ok = erlang:load_nif("./aerospike_nif", 0).
のinit()
と
EbinDir = filename:dirname(code:which(?MODULE)),
SoFile = filename:join(EbinDir,"aerospike_nif"),
erlang:load_nif(SoFile, 0).
の起動時erl
に、Aerospike ビーム ファイルと を含むディレクトリへのパスを追加します.so
。erl -pa path_to_aerospike/erlang/
于 2015-05-07T22:12:39.487 に答える