Erlang编译器找不到包含文件test.hrl

时间:2019-02-20 13:40:54

标签: shell erlang

我有一个项目,应该是:

项目结构为root / p1 / mod1 / include / test.hrl和root / p2 / mod2 / foo.erl 我在root / p1 / mod1 / include中有一个erlang hrl文件,并且已经在root / p2 / mod2中的erlang文件(.erl)中包含了它。

当我编译文件foo.erl时,出现以下错误:

foo.erl:16: can't find include file "test.hrl"

我尝试将其包含在erlc的-I标志中,如下所示:

user[root/p2/mod2]$ erlc foo.erl -I "/local/user/root/p1/mod1/include"
foo.erl:16: can't find include file "test.hrl"

但这似乎无法解决。 谁能帮助解决该问题?

1 个答案:

答案 0 :(得分:1)

Erlang中,命令应位于以下位置:

  

erlc标志file1.ext file2.ext ...

编译一个或多个文件。文件必须包含扩展名,例如,对于Erlang源代码为.erl,对于Yecc源代码为.yrl。 Erlc使用扩展名来调用正确的编译器

支持以下标志:

  

-I“目录”

因此,只需将-I移到erl文件之前即可

erlc -I "/local/user/root/p1/mod1/include" foo.erl