如何在 Eclipse 中编译 ejabberd 钩子

Posted

技术标签:

【中文标题】如何在 Eclipse 中编译 ejabberd 钩子【英文标题】:How to compile ejabberd hooks in Eclipse 【发布时间】:2015-09-28 07:39:36 【问题描述】:

我正在尝试制作简单的ejabberd 钩子或模块。为此,我使用eclipse 遵循这些步骤。

    创建 Erlang 项目,我将reference 提供给ejabberd 源代码,这是我从github 下载的。

    现在我写代码

    %% @author anuj
    %% @doc @todo Add description to hello_word.
    
    -module(hello_word).
    -behavior(gen_mod).
    -export([start/2,stop/1]).
    
    start(_Host, _Opt) ->
           ?INFO_MSG("Loading module 'mod_hello' ", []).
    
    stop(_Host) ->
              ok.
    

现在我用这个命令编译它

(ErModule1_ejabberd@anuj)2> c(hello_word).

这会给我这个错误信息

hello_word.erl:11: undefined macro 'INFO_MSG/2'
hello_word.erl:8: function start/2 undefined
hello_word.erl:6: Warning: behaviour gen_mod undefined
error

任何人都可以在这个过程中纠正我如何为 ejabberd 制作一个简单的钩子并编译它。

【问题讨论】:

【参考方案1】:

INFO_MSG 是在logger.hrl 中定义的宏。您需要将其包含在您的文件中:

-include("logger.hrl").

【讨论】:

以上是关于如何在 Eclipse 中编译 ejabberd 钩子的主要内容,如果未能解决你的问题,请参考以下文章

ejabberd 模块编译错误

ejabberd 'make' 通过“无法运行已编译的 C 程序”

如何在 Ejabberd 中归档消息并存储在 MongoDB 中

如何在 Ejabberd 中过滤消息

如何在 ejabberd 中的 xmpp 消息正文中附加自定义数据

如何在 ejabberd 服务器中配置 mysql?