Pregunta

Al compilar un archivo de Erlang con erlc puedo añadir también cuentan con directorios, así:

erlc -I /home/trotter/code/open-source/yaws/include src/myapp.erl

Cuando estoy compilando desde dentro erl sin embargo, no veo una manera de hacer esto en la línea de comandos. En su lugar, tengo que hacer lo siguiente dentro de la réplica:

> compile:file("src/myapp", 
               [verbose,
                report_errors,
                {i,"/home/trotter/code/open-source/yaws/include"}]).

¿Hay una mejor manera de hacer esto que no sé acerca, tales como pasar un argumento de línea de comandos a ERL? Si no es así, cualquier sugerencia para el secado de esto que no Me requieren para escribir caminos desagradables cada vez que compilar.

¿Fue útil?

Solución

Yo rara vez compilar desde el shell - sólo para los scripts de prueba con pequeñas c(foo). Mi configuración es la siguiente:

I tiene una infraestructura de generación. make construye el software (make es sólo un envoltorio para rebar aquí). A continuación, puedo construir código de dentro emacs golpeando F12 con destino a la orden del compile emacs. En vim se puede hacer lo mismo con el comando :make si mi memoria no me falla vim (que ha sido un par de años). Ahora bien, esto por supuesto se basa el código y tirarlo en un dir ebin.

El siguiente paso es empezar a Erlang con el conocimiento acerca de la dir ebin:

 erl -pa ./ebin

lo que significa que cualquier referencia a foo módulo va y cheques por ./ebin/foo.beam. Cuando luego averiguar que tengo que fijar un cierto código, lo arreglo en el editor, compilar el código con F12 y luego ejecutar l(foo) en la cáscara que hot-carga el código.

También tiene la ventaja de que cualquier error de compilación está ahora bajo la jurisdicción del editor para que pueda saltar rápidamente al error y solucionarlo.

Otros consejos

puede configurar ERL_COMPILER_OPTIONS.

http://www.erlang.org/doc/man/compile.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top