2

autotools を使用するプロジェクトがあります。autotools の優れた機能は、'out-of-source' ビルドです。

cd foobar
./configure
make

実際にビルド用のフォルダーを作成し、そこで構成を行います。

cd foobar/builds/linux
../../configure
make

(いいところは、ソース フォルダーが生成された Makefile で不自由にならないことです。これは、クロスコンパイルの際に役立ちます)。

そのため、emacs で自分のコードに取り組んでいるとき、コンパイルを実行するにM-x compileは、コンパイル コマンドを として指定しますcd ~/foobar/builds/linux ; make

これは、コンパイル エラーが発生するまで正常に機能します。../../../../src...コンパイル バッファには、ビルド フォルダからの相対的なソース ファイルを指す醜いパス ( など) のファイルが一覧表示されます。何も指していません。したがって、エラーを簡単に参照することはできません。

で遊んでみましたがcompilation-search-path、運が悪かったです。

emacs を強制的にコンパイル フォルダーに「留まる」ようにする方法はありますか (コンパイルバッファー内のパスが既存のファイルを参照するようにしますか?)

ありがとう

PH

4

2 に答える 2

4

代わりに を使用すると、emacs はmake が出力する,メッセージmake -C ~/foobar/builds/linuxを追跡し、これを使用してファイルへの適切な参照を維持できるはずです。Entering directory ...Leaving directory ...

于 2009-11-23T14:52:28.217 に答える
2

jamessan のアドバイスを使用して、次の方法で問題を部分的に修正できました。

  • 「コンパイルディレクトリ」を「ソース」フォルダーの 1 つに設定します (builds/linux/current/src/client)
  • -C を使用してこれらのソース フォルダーの 1 つに変更するための「コンパイル コマンドの設定」

両方が必要なのか、それとも最善の方法なのかはよくわかりません...

とにかくありがとう !

于 2009-11-23T22:36:40.700 に答える