从Windows到Unix的Eclipse CDT .cproject文件

时间:2017-04-20 04:46:54

标签: eclipse build gdb eclipse-cdt

我有一个遗留的内部工具,可以从我用来运行Simulink模拟的所有C文件中创建Eclipse CDT项目。我使用eclipse项目作为GDB的前端(在Windows中使用Cygwin)通过模拟C代码进行调试。该工具使用不变的.cproject文件来制作项目。

我现在在Unix上运行我的模拟,所以我试图移植该工具以在Unix中创建一个Eclipse项目。我被困在如何将我的Windows .cproject文件转换为Unix .cproject文件。例如,在Unix Eclipse项目构建中给出了如下错误:

Managed Build system manifest file error: Option cdt.managedbuild.option.gnu.cross.path.2110017774 
uses a null category that is invalid in its context. The option was ignored.

我猜这是由.cproject文件引起的,因为它是该工具中唯一包含cdt.managedbuild的文件。

<option id="cdt.managedbuild.option.gnu.cross.path.2110017774" 
superClass="cdt.managedbuild.option.gnu.cross.path" value="MinGWPath" valueType="string"/>

我甚至不了解这个文件正在做什么或者它是如何生成的。我没有创建工具,我是Eclipse新手。是否有任何资源可用于了解如何创建,修改和解释.cproject文件?

1 个答案:

答案 0 :(得分:1)

.cproject文件并非真正设计为由外部工具生成。它们的确切格式没有记录,并被认为是一个实现细节。

Eclipse生态系统中的可扩展性和自动化旨在通过Eclipse插件实现。 Eclipse插件可以访问一组稳定的,记录的API,可用于操作Eclipse工作区。例如,要创建项目,您可以使用IWorkspaceRoot.getProject()IProject.create()CoreModel.create(IProject)等API。这些API的实现将处理诸如创建.cproject文件等详细信息。

如果您确实想自己生成.cproject文件,最好的方法是参考CDT source code了解其确切格式的详细信息,并在CDT mailing list上提出任何澄清问题。 。查看创建.cproject文件的其他跨平台工具的源代码也可能会有所帮助,例如CMake具有Eclipse项目生成器。