1

いくつかの既存の erlang プロジェクトで emacs を使い始めています。できればショートカットを使用して erlang-compile コマンドを使用したいのですがC-c C-k、私のプロジェクトのほとんどがインクルード ディレクトリにある .hrl ファイルを使用しているのに対し、コマンドは src および ebin ディレクトリしか認識していないため失敗します( erlang アプリケーションの通常のディレクトリ ツリーです)

すべてのインクルード ディレクティブを編集し、各ファイル名の前にインクルード ディレクトリへの相対パスを追加することで回避策を見つけましたが、これは気に入らず、オプション debug_info、export_all、ネイティブ...

もう 1 つの回避策は、外部コマンドを使用することですが、この場合、おそらく、コンパイル エラーとソース コードの間のリンクが失われます。

正しい方法は、オプション リストをコマンドに渡すことです (たとえば、[{i,"../include"},debug_info])。

を使用してコマンドを「評価」しようとしましM-: (erlang-compile XXX)たが、失敗しました (Lisp 構文を少し知らないので、とにかく、erlang-compile には引数がないようです...)

このトピックを見たことがあります。 emacs で rebar を使用しますか? しかし、私が解決策を理解しているように、それは外部コマンドを使用し、私の 2 番目の回避策のように動作します。

これらの引数を渡す別の方法または設定はありますか?

4

2 に答える 2

0

erlang-compile-extra-opts変数にインクルード パスを設定できます。例えば:

(setq erlang-compile-extra-opts '((i . "../include") debug_info))
于 2014-09-24T13:06:44.660 に答える