【发布时间】:2009-11-23 13:24:50
【问题描述】:
我有一个使用自动工具的项目。 autotools 的一个不错的功能是“源外”构建,而不是这样做:
cd foobar
./configure
make
我实际上为构建创建了一个文件夹,我在其中进行配置:
cd foobar/builds/linux
../../configure
make
(好处是我的源文件夹没有被生成的 Makefile 破坏,它在交叉编译时很有帮助)。
因此,当我在 emacs 中处理我的代码时,要运行编译,我将执行 M-x compile 将编译命令指定为 cd ~/foobar/builds/linux ; make。
这工作正常,直到发生编译错误。编译缓冲区将列出具有丑陋路径的文件(如../../../../src...),它指向相对于构建文件夹的源文件。但是,似乎emacs在编译结束时不会留在构建文件夹中,所以链接不指向任何东西。因此,我无法轻松浏览回错误。
我尝试与compilation-search-path 一起玩,但没有运气。
有没有办法强制 emacs '留在'编译文件夹中(以便 编译 缓冲区中的路径引用现有文件?)
谢谢
PH
【问题讨论】:
标签: emacs compilation autotools