14

Emacs 23 を使用していますが、次の問題があります。

Mx compile -> cd /foo/bar && ./build のように、Emacs 内からプロジェクトのビルド システムを実行します。

ビルド システムはいくつかの魔法を実行し、ビルド プロセス用のサブディレクトリに "cd" を実行すると、gcc がエラーをスローします。

../src/somesource.cc:50 エラー: blablabla

ここでの問題は、コンパイル プロセスが /foo/bar/builddir ではなく /foo/bar で開始されたと想定するため、Emacs がそのパスを見つけられないことです。そのため、先頭の "../" は、たとえば compile-goto-error を実行している場合など、Emacs では機能しません。先頭の「../」をスキップするよう Emacs に指示する方法はありますか?

4

2 に答える 2

17

最善の解決策は、ディレクトリが変更されたときにメッセージを発行するようにビルド システムを変更することです。Emacsが探す

Entering directory `...'
... 
Leaving directory `...'

(compilation-directory-matcher変数を参照してください。ビルド システムがディレクトリを変更したときにメッセージを発行するが、Emacs が探している形式でない場合は、新しい正規表現を に追加できますcompilation-directory-matcher。)

もう 1 つの解決策は、変更することcompilation-search-pathです (これはディレクトリのリストです)。

于 2012-05-04T17:55:13.283 に答える