Puis-je ajouter inclure des répertoires à la commande ERL?
-
08-10-2019 - |
Question
Lors de la compilation d'un fichier Erlang avec erlc
je peux ajouter des répertoires supplémentaires comprennent comme ceci:
erlc -I /home/trotter/code/open-source/yaws/include src/myapp.erl
Quand je compiler à partir de erl
cependant, je ne vois pas une façon de le faire sur la ligne de commande. , Je dois plutôt faire ce qui suit dans le rempl:
> compile:file("src/myapp",
[verbose,
report_errors,
{i,"/home/trotter/code/open-source/yaws/include"}]).
Y at-il une meilleure façon de le faire que je ne sais pas, comme en passant un argument de ligne de commande pour ERL? Dans le cas contraire, des suggestions pour le séchage ce que jusqu'à ne pas me taper besoin des chemins désagréables à chaque fois que je compile.
La solution
Je compile rarement de la coquille - uniquement pour les petits scripts de test avec c(foo)
. Ma configuration est la suivante:
J'ai une infrastructure de construction. make
construit le logiciel (make est juste une enveloppe pour rebar
ici). Je peux alors construire le code à l'intérieur emacs
en appuyant sur F12
lié à la commande du compile
. En vim
vous pouvez faire la même chose avec la commande :make
si ma mémoire me sert vim (il a été quelques années). Maintenant, cela bien sûr construit le code et le jeter dans un ebin
dir.
L'étape suivante consiste à commencer Erlang avec connaissance du ebin
dir:
erl -pa ./ebin
ce qui signifie que toute référence au module foo
va et vérifie ./ebin/foo.beam
. Quand je puis décider que je dois fixer un code, je le fixer dans l'éditeur, compiler le code avec F12
puis exécutez l(foo)
dans la coquille qui chaud-charge le code.
Il a également l'avantage que toute erreur de compilation est maintenant sous la juridiction de l'éditeur afin que je puisse passer rapidement à l'erreur et la corriger.
Autres conseils
vous pouvez définir ERL_COMPILER_OPTIONS
.