【问题标题】:C++ eclipse project automatic build serverC++ eclipse项目自动搭建服务器
【发布时间】:2016-05-25 03:18:28
【问题描述】:

我正在使用 Eclipse 构建一个嵌入式 C++ 项目。我想建立一个持续集成系统,每次提交到 github 存储库时,构建服务器都会编译和运行单元测试。

我的问题是 C++ 项目使用 eclipse 进行开发,我不知道如何使用 .cproject/.project 自动构建,就像使用 makefile 和 TravisCI 或 Jenkins 等 CI 框架一样.

我想我可能会使用“生成 makefile”功能,但我不想每次对 .project 或 .cproject 文件进行更改时都必须重新生成新的 makefile。

大家有什么建议吗?

【问题讨论】:

    标签: c++ eclipse continuous-integration


    【解决方案1】:

    经过一些研究,我认为最好的方法是使用所谓的headless build。它需要 .project 和 .cproject 并编译它。

    $ eclipse \
    --launcher.suppressErrors \
    -nosplash \
    -application org.eclipse.cdt.managedbuilder.core.headlessbuild \
    -data /path/to/workspace \
    -cleanBuild "project/configuration"
    

    上述命令的结果是从给定工作区干净构建给定项目配置。

    http://gnuarmeclipse.github.io/advanced/headless-builds/

    【讨论】:

    • 好的,我已经根据您的反馈修改了答案。
    • 我同意这是正确的(它适用于我)。您能否将其标记为答案,以帮助将来可能会发现此问题的其他人?谢谢。
    【解决方案2】:

    您可以使用自定义的Makefile 项目,而不是让 Eclipse 为您构建 Makefile。

    您需要花费一些时间来开发通用构建系统,该系统会自动检测要包含在您的构建中的源文件并处理它们的所有依赖项。

    【讨论】:

    • 我曾想过这样做,但我宁愿不必维护一个独立于我们用于开发软件的构建系统。 CI 系统的目标之一是检测在推送到源代码存储库后出现的编译错误。
    • @AlexC “但我宁愿不必维护一个独立于我们用于开发软件的构建系统” 我不是在谈论 独立的构建系统,但对 Eclipse 和 CI 系统使用相同的构建系统。
    • 哦,好吧,您的意思是使用 makefile 来构建项目并让 e​​clipse 使用该 makefile 来执行构建,而不是使用 eclipse .project 文件来构建项目?
    • @AlexC 是的,这是我所经历过的更好的方法。
    • @Mawg 有了一个好的构建系统,我更喜欢自己控制 makefile。
    猜你喜欢
    • 2017-06-10
    • 2017-06-09
    • 1970-01-01
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    相关资源
    最近更新 更多