从命令行构建几个CDT C ++项目

时间:2008-12-05 18:55:54

标签: eclipse command-line eclipse-cdt

从命令行构建多个CDT C ++项目的最佳解决方案是什么?项目有参考,因此不可能只建立单个项目。

5 个答案:

答案 0 :(得分:61)

此功能已添加到CDT 6(2009年6月15日到期的最终版本)中。您可以从构建页面下载最终候选版本:download.eclipse.org/tools/cdt/builds/6.0.0 /.

使用Eclipse 3.5 + CDT 6的发行版,您可以使用命令行发送到Eclipse的以下选项导入,构建和清理构建项目和工作区:

eclipse -nosplash 
        -application org.eclipse.cdt.managedbuilder.core.headlessbuild 
        -import {[uri:/]/path/to/project} 
        -build {project_name | all} 
        -cleanBuild {projec_name | all}

在Windows上,使用eclipsec.exe而不是eclipse.exe将构建输出写入stdout / stderr,以便调用阻塞直到完成。

' -application '开关指示Eclipse运行CDT无头构建器而不是启动工作台。其他开关可以单独使用或一起使用。这意味着您可以使用自己的shell脚本,“ -import ”将其签入工作区,并使用Managedbuilder的无头构建器将“ -build ”签出。

使用' -data '开关指定要使用的工作空间(可以是空的临时目录),请参阅平台运行时支持的其他开关的运行时文档: help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html

有关已提交功能的更多详细信息,请参阅bug 186847 comment 24及更高版本。

答案 1 :(得分:1)

Pre CDT 6你可以使用JDT的AptBuilder(例如,包含在经典的Eclipse中)。

这使您可以构建已配置的工作区。所以你:检查你的源代码,配置一个指向签出项目的工作区。然后,您的自动构建脚本可以更新签出并运行AptBuilder,而无需启动GUI。

答案 2 :(得分:0)

如果您在CDT下创建了一个Make项目,您可以使用您喜欢的shell并在所有项目目录中执行make。

答案 3 :(得分:0)

目前不支持使用管理构建器进行无头构建,请参阅bug 186847 - CDT internal builder does not support automated command line builds

如果您使用非托管(make)构建器,那么您已经可以从命令行使用Makefile。

答案 4 :(得分:-1)

我们在现有版本中执行此操作。

在所有外部引用和顶级项目中放置一个makefile。 在您的“所有”规则中,让它运行: make -C ./externalref1 make -C ./externalref2 等

我们实际上定义了变量中的外部依赖项: EXT_DEP = externalref1 externalref2 然后使用subst(substitute)命令使用正确的调用启动所有子项目。