質問

erlangファイルをコンパイルするとき erlc SOのようなディレクトリを追加することができます:

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にコマンドラインの引数を渡すなど、私が知らないこれを行うより良い方法はありますか?そうでない場合は、これを乾燥させるための提案はありません しないでください コンパイルするたびに厄介なパスを入力する必要があります。

役に立ちましたか?

解決

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

ビルドインフラストラクチャがあります。 make ソフトウェアを構築します(Makeはただのラッパーです rebar ここ)。その後、内部からコードを作成できます emacs 打つことによって F12 にバインドされています compile emacsコマンド。の vim 同じことができます :make 私のVIMメモリが私に役立つならコマンド(数年が経ちました)。今、これはもちろんコードを構築し、 ebin 監督。

次のステップは、Erlangを開始することです。 ebin 監督:

 erl -pa ./ebin

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

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

他のヒント

設定できます ERL_COMPILER_OPTIONS.

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top