首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Erlang图书馆中包括amqp_client.hrl for RabbiqMQ

在Erlang图书馆中包括amqp_client.hrl for RabbiqMQ
EN

Stack Overflow用户
提问于 2016-03-29 06:06:23
回答 1查看 310关注 0票数 0

我正在试图找出如何将amqp_client.hrl包含在我正在编写的库中。

我可以根据以下示例在脚本中使用它:https://github.com/rabbitmq/rabbitmq-tutorials/blob/master/erlang/send.erl

当我尝试在非脚本设置中使用它时:

代码语言:javascript
复制
-module(rabbitMQHandler).
-compile(export_all).
-include("amqp_client/include/amqp_client.hrl").

test() ->
    {ok, Connection} =
        amqp_connection:start(#amqp_params_network{host = "localhost"}),
    {ok, Channel} = amqp_connection:open_channel(Connection),
    ok = amqp_channel:close(Channel),
    ok = amqp_connection:close(Connection),
    ok.

我可以编译rabbitMQHandler.erl,但是当我执行rabbitMQHandler:test().时,会得到以下错误** exception error: undefined function amqp_connection:start/1

在库中包含amqp_client.hrl的适当方法是什么?

我试过-include_lib("amqp_client/include/amqp_client.hrl").,但没什么区别。

我试过包括%%! -pz ./amqp_client ./rabbit_common ./amqp_client/ebin ./rabbit_common/ebin,但这也没有什么区别。

编辑:

对于在emacs中使用Erlang的用户,在.emacs文件中添加以下内容,以便将标志传递给您的repl:

代码语言:javascript
复制
(defun erl-shell (flags)
   "Start an erlang shell with flags"
   (interactive (list (read-string "Flags: ")))
   (set 'inferior-erlang-machine-options (split-string flags))
   (erlang-shell))

使用M-x erl-shell,您可以将标志传递给erl。

片段是从http://erlang.org/pipermail/erlang-questions/2007-January/024966.html取来的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-29 08:11:37

undefined function amqp_connection:start/1消息通常意味着amqp_connection模块不在搜索路径中。

您需要使用在您的抄本中使用的相同的-pz标志启动Erlang。例如:

代码语言:javascript
复制
$ erl -pz ./amqp_client ./rabbit_common ./amqp_client/ebin

您可以通过查询模块信息来重复检查它的工作情况:

代码语言:javascript
复制
1> amqp_connection:module_info().
[{module,amqp_connection},
 {exports,[{start,1},
           {open_channel,1},
           {open_channel,2},
...

然后您可以像往常一样运行您的代码。

关于-include-include_lib,后者在您的情况下是合适的。这是包含外部应用程序( OTP或第三方)的头的首选方法。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36276638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档