2012-05-04 14 views
11

Ben Emacs 23 kullanıyorum ve şu sorun var am:Emacs 'derleme-goto-error'in derleme arabelleğinden aldığı yolu nasıl ayarlayabilirim?

Ben Mx derleme gibi Emacs içinden bizim projenin inşa sistemini çalıştırmak -> cd/foo/bar & & inşa sistemi artık yok

./build

../src/somesource.cc:50 hatası:: bazı büyü, "cd" inşa süreci için bazı alt dizine ler ve sonra gcc bir hata atar blablabla

Şimdi problem Emacs kazandı olmasıdır Bu yolu bul, çünkü derleme sürecini kabul ediyor./foo/bar'da tartıldı ve/foo/bar/builddir içinde değil. Böylece lider "../" Emacs için çalışmıyor, örn. derleme-goto hatası çalışırken. Emacs’e “../” liderlerini atlama denemelerini söylemenin bir yolu var mı?

+1

Garip bir şekilde, * Emacs * ... – SamB

cevap

11

En iyi çözüm, dizinleri değiştirdiğinde yapı sistemini iletmek üzere yapı sistemini değiştirmek olabilir. (Oluşturduğunuz yapı sistemi dizinleri değiştirdiğinde mesajları yayan yaparsa. compilation-directory-matcher değişkeni bakın, ancak Emacs Eğer compilation-directory-matcher yeni İfadelerinin ekleyebilir, aradığı biçimde değiliz.) Emacs

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

arar

Diğer çözüm, compilation-search-path'u (bu dizinlerin listesidir) değiştirmektir.

+0

Emacs'in "Giriş ..." işlevini bilmiyordum. Bu muhtemelen yardımcı olacaktır! – Arne

+1

@Arne, GNU Özyinelemeli makefiles kullanırken [bu formdaki iletileri yazdırır] (http://www.gnu.org/software/make/manual/html_node/_002dw-Option.html). Bu yüzden Emacs onları arar. – cjm

+1

Bu çözüm, aradığım şey gibi görünüyor, ancak ben derleme dizini-matcher değişkenini düzenleyemiyorum (burada görebileceğiniz gibi: http://stackoverflow.com/q/21309720/61838). Dahası, “derleme-arama yolu” problemi çözmüyor gibi görünüyor (sadece bir dizinde kaynak aramak için emaclara ihtiyacım olsa bile). Herhangi bir yardım takdir edilecektir! – claf