Эрлангский компилятор не может найти включаемый файл test.hrl - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть проект, где предположим:

Структура проекта - root / p1 / mod1 / include / test.hrl и root / p2 / mod2 / foo.erl У меня есть файл erlang hrl в root /p1 / mod1 / include и я включил его в файл erlang (.erl) в root / p2 / mod2

Когда я компилирую файл foo.erl, он выдает следующую ошибку:

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

Я попытался включить его в флаг -I erlc, например, ниже:

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 голосов
/ 20 февраля 2019

В Erlang команда должна быть ниже:

erlc flags file1.ext file2.ext ...

Компилирует один илибольше файлов.Файлы должны включать расширение, например .erl для исходного кода Erlang или .yrl для исходного кода Yecc.Erlc использует расширение для вызова правильного компилятора

Поддерживаются следующие флаги:

-I 'Directory'

Так что просто переместите -Iперед файлом erl:

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