1

我正在尝试将啤酒添加到一个简单的 erlang.mk 项目中。我了解啤酒使用解析转换,因此您必须相应地设置编译标志;因此,请遵循此处的建议:

在 Common Test 测试运行期间较大的调用失败

我的 Makefile 如下所示:

PROJECT = hello_erlang_mk
DEPS = cowboy lager

# this must be first
include erlang.mk

# Compile flags
ERLC_COMPILE_OPTS= +'{parse_transform, lager_transform}'

# Append these settings
ERLC_OPTS += $(ERLC_COMPILE_OPTS)
TEST_ERLC_OPTS += $(ERLC_COMPILE_OPTS)

该版本构建良好,但似乎从未包含过更大的版本:

Eshell V5.10.4  (abort with ^G)
(hello_erlang_mk@127.0.0.1)1> lager:info("~s is ~s!", [lager, cool]).
** exception error: undefined function lager:info/2

有人对如何在 erlang.mk 项目中获得更大的工作有任何指示吗?

[我正在使用 Erlang R16B03,Ubuntu 14.04]

谢谢。

4

2 回答 2

3

我相信与 erlang.mk 无关。问题是——你尝试从 shell 调用 lager:info 。但实际上在 lager 模块中并没有这样的功能。lager:info 只是一个用于解析转换的命令,它在编译期间展开为其他一些(更复杂的)结构。

如果你想检查你的应用程序是否包含 lager,你可以尝试从 shell lager:status() 例如(这是 lager 模块中的 'honest' 函数)。或啤酒:module_info()。

于 2014-12-13T17:59:45.773 回答
0

对不起。菜鸟错误。应用程序:开始(啤酒)。对不起。

于 2014-12-14T19:26:58.290 回答