我有一个项目,应该是:
项目结构为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"
但这似乎无法解决。 谁能帮助解决该问题?
答案 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