Cedet是一个不错的工具套件,但在默认配置中,它很难找到包含的文件。
我想让它在每个父目录中查找名为include /的目录,并从那里获取文件。
例如文件/home/fakedrake/my-project/some-thing/something-else/file.c
有#include "file.h"
file.h位于some-thing / file.h中,但是cedet无法找到它
令人敬畏的是让cedet查找file.h以在目录中创建完成
/home/fakedrake/my-project/some-thing/include/
/home/fakedrake/my-project/include/
(如果它试图寻找
,我可以忍受它/include/
/home/include/
/home/fakedrake/include/
)
答案 0 :(得分:4)
您可以使用EDE。此外,它允许您为特定项目指定不同的包含路径。 EDE是Cedet的一部分,因此您无需安装任何东西。
基本设置是:
(global-ede-mode t)
然后对于每个项目,你应该有类似的东西:
(if (file-exists-p "~/dev/chanconf/Makefile")
(ede-cpp-root-project "chanconf"
:name "Channel Config"
:file "~/dev/chanconf/Makefile"
:system-include-path '("/usr/include"
"/usr/include/boost")
:include-path '("/src"
"/test/gtest/include")
:spp-table '(("BOOST_PROGRAM_OPTIONS_DECL" . ""))))
这不完全是你要求的,因为你仍然需要列出所有包含目录。但通常每个项目只做一次,并且不需要太多努力,所以我希望它有所帮助。
如果你需要更多的话,Alex Ott的article on Cedet是一个非常好的想法来源。