7

でerlangファイルをコンパイルするとき、次のerlcような追加のインクルードディレクトリを追加できます。

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

ただし、内部からコンパイルしているときはerl、コマンドラインでこれを行う方法がわかりません。代わりに、repl内で次のことを行う必要があります。

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

コマンドライン引数をerlに渡すなど、私が知らないこれを行うためのより良い方法はありますか?そうでない場合は、コンパイルするたびに厄介なパスを入力する必要がない、これを枯渇させるための提案があります。

4

2 に答える 2

6

シェルからコンパイルすることはめったにありません - を使用した小さなテスト スクリプトの場合のみですc(foo)。私のセットアップはこれです:

私はビルドインフラストラクチャを持っています。makeソフトウェアをビルドします (make はここでは単なるラッパーrebarです)。emacs次に、 emacsコマンドF12にバインドすることで、内部からコードをビルドできます。私のvimメモリが私に役立っている場合は、コマンドで同じことを行うことができます(数compile年経ちました)。もちろん、これによりコードがビルドされ、ディレクトリにスローされます。vim:makeebin

ebin次のステップは、 dirに関する知識を持って Erlang を開始することです。

 erl -pa ./ebin

これは、モジュールへのすべての参照が実行されfoo、 がチェックされることを意味します./ebin/foo.beam。その後、いくつかのコードを修正する必要があることがわかったら、エディターで修正し、コードをコンパイルしてから、コードをホットロードするシェルでF12実行します。l(foo)

また、コンパイル エラーが編集者の管轄下にあるため、エラーにすばやくジャンプして修正できるという利点もあります。

于 2010-12-05T03:36:41.370 に答える
2

設定できますERL_COMPILER_OPTIONS

http://www.erlang.org/doc/man/compile.htmlを参照してください

于 2010-12-05T21:42:39.287 に答える