我想将 aerospike erlang 客户端作为 Fedora 21 中的全局模块集成到 erlang 环境中。我实现了制作客户端 nif 和模块,但我必须始终复制每个项目中的文件。现在我想使用 aerospike 模块,如 erlang 或 os 模块。我怎样才能做到这一点?
问问题
138 次
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 回答