我有一个使用自动工具的项目。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 在编译文件夹中“停留”(以便编译缓冲区中的路径引用现有文件?)
谢谢
酸碱度