36

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

4

5 回答 5

65

此功能已在 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

有关已提交功能的更多详细信息,请参阅错误 186847 评论 24及以后。

于 2009-06-07T19:22:05.793 回答
1

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

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

于 2009-06-07T19:57:47.047 回答
0

当前不支持使用管理构建器进行无头构建,请参阅错误 186847 - CDT 内部构建器不支持自动命令行构建

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

于 2009-05-29T19:47:15.850 回答
0

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

于 2009-01-05T18:29:10.793 回答
-1

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

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

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

于 2009-01-05T21:31:25.933 回答