在erlang.mk项目中包含lager

时间:2014-12-13 07:38:25

标签: erlang lager

我试图将lager添加到一个简单的erlang.mk项目中。我理解lager使用parse转换,所以你必须相应地设置编译标志;所以按照这里的建议:

Lager calls failing during Common Test test runs

我的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项目中使用lager工作的任何指示?

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

感谢。

2 个答案:

答案 0 :(得分:3)

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

如果你想检查你的应用程序是否包含lager,你可以试试shell lager:status()例如(在lager模块中是“诚实的”功能)。或更长:module_info()。

答案 1 :(得分:0)

原谅我。 Noob错误。应用程序:启动(啤酒)。遗憾。