gpt4 book ai didi

vim - 将 vim 的 make 命令与在子目录上运行 make 的 makefile 一起使用

转载 作者:行者123 更新时间:2023-12-04 23:30:05 24 4
gpt4 key购买 nike

我有一个项目设置,其中有多个子项目,所有子项目都有自己的 make 文件。主目录中有一个主 make 文件,该文件将 cd 放入每个项目并按正确的顺序运行 make。

makefile 命令如下所示:

sub-project/sub-project.a:
cd sub-project ; make

我遇到的问题是,当我在 vim 中运行 make 并报告错误时,vim 会尝试根据出现错误的任何项目内部的相对路径打开文件。有没有办法让vim从根目录而不是子项目目录获取相对路径?

最佳答案

确保您的 makefile 在进入和离开子目录时进行报告,如下所示:

make[1]: Entering directory `/home/username/projects/projectname/subdir1'
[... compile commands ...]
make[1]: Leaving directory `/home/username/projects/projectname/subdir1'

根据我的经验,vim 会解析输出的这部分来为有错误的文件找到正确的路径。同样在我几年前(沮丧)的经历中,如果没有消息,vim 不知道在哪里查找错误消息引用的文件。

请注意,这甚至适用于递归子目录构建,如下例所示:
make[1]: Entering directory `/home/username/projects/projectname/subdir1'
make[2]: Entering directory `/home/username/projects/projectname/subdir1/blah'
[... compile commands ...]
make[2]: Leaving directory `/home/username/projects/projectname/subdir1/blah'
make[1]: Leaving directory `/home/username/projects/projectname/subdir1'

关于vim - 将 vim 的 make 命令与在子目录上运行 make 的 makefile 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6414203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com