Eclipse IDE C/C++ 自动包含来自定制构建脚本的路径

Eclipse IDE C/C++ automatic include paths from custom build script

本文关键字:构建 脚本 路径 包含 IDE C++ Eclipse      更新时间:2023-10-16

为了保持依赖关系简单,我有一个自定义的python脚本来构建我的项目,我想使用Eclipse作为C++IDE,但保留我的构建脚本。

维护自动完成和智能感知(使用文档等...我想告诉 Eclipse 在我的脚本中依赖关系解析期间添加的(非标准(标头和定义。

我发现".cproject"文件包含此类信息,从构建脚本更改它是否安全,或者是否有任何方法可以将我的脚本集成到 Eclipse 本身中?

例:

# TestGame.json
{
"name": "TestGame",
"extend": "BASE",
"actions": ["COMPILE", "LINK"],
"CC": [
"G++11"
],
"dep": {
"builds": ["DFResourcer", "DFSDL"],
"libs": ["SDL2", "SDL2main"]
}
}

我的构建脚本将编译修改后的文件并将它们与所有需要的文件链接,并会找到"/home/cpp-projects/DFSDL/include">,必须包含的其他路径以及对 --std=c++11的需求,我想要一种方法来告诉 Eclipse(不是手动(搜索标头也在那里进行自动完成等......

我发现".cproject"文件包含此类信息,从构建脚本更改它是否安全

这是可行的,但不建议这样做,因为文件格式没有文档记录,不能保证在 Eclipse 版本中保持稳定。

有什么方法可以将我的脚本集成到 Eclipse 本身中吗?

您可以编写一个 Eclipse 插件来运行您的脚本并与之通信或使用它产生的输出。但是,这似乎是一个重量级的解决方案。

我建议以下简单的解决方案:

Eclipse 有一个构建输出解析器。我已经写过如何在其他答案中使用它,比如这个。基本上,它旨在解析make调用的输出,解析任何看起来像编译器命令的行,并根据该命令中的-I参数配置包含路径。

即使您使用的是自定义构建脚本而不是make,您也可以使用它:只需让您的脚本输出它调用的编译器命令(如果需要,您可以将其设置为像--verbose这样的标志的条件(,并将 Eclipse 配置为在构建项目时调用您的构建脚本而不是make(如果您使用了一个标志,则传入标志(。