我使用Emacs的23和有以下问题:
我在Emacs运行项目的构建系统一样的Mx编译 - > CD /富/酒吧&& ./build
构建系统现在确实有些神奇,“CD” S到一些子目录的构建过程,然后GCC抛出一个错误:
../src/somesource.cc:50错误:blablabla
现在的问题是,Emacs会找不到路,因为它假设编译过程中/富/酒吧开始了,而不是在/富/酒吧/ builddir。 所以领先“../”没有运行编译后藤错误时工作Emacs的,如。 有没有办法告诉Emacs的尝试跳过领先“../”?
最好的解决办法可能是改变构建系统时,它改变目录发出消息。 Emacs的查找
Entering directory `...'
...
Leaving directory `...'
(见compilation-directory-matcher
变量,如果你的编译系统也发出消息时,它改变了目录,但他们不是在格式的Emacs正在寻找,你可以添加新的正则表达式的compilation-directory-matcher
。)
另一种解决方案是改变compilation-search-path
(这是一个目录列表)。
文章来源: How to adjust the path that Emacs' compile-goto-error gets from the compilation buffer?