【问题标题】:Building a multi module C project (i.e. solution) with Eclipse CDT使用 Eclipse CDT 构建多模块 C 项目(即解决方案)
【发布时间】:2013-05-12 02:01:52
【问题描述】:

我正在从 Netbeans 迁移到 Eclipse(在 Ubuntu 12.0.4 上)。我有一个 C 应用程序,它由几个子项目组成,这些子项目是库(共享和静态),以及独立的可执行文件。

我不知道如何创建一个包含组件项目的“父”项目foo

  • foobar
  • foofoo
  • barfoo
  • barbar

理想情况下,我希望在文件夹foo 下创建所有“组件项目”,这样我就有了这样的目录结构:

  • /path/to/foo/foobar/(包含 foobar 项目文件)
  • /path/to/foo/foofoo/(包含 foofoo 项目文件)
  • /path/to/foo/barfoo/(包含 barfoo 项目文件)
  • /path/to/foo/barbar/(包含 barbar 项目文件)

有谁知道我如何使用 Eclipse 作为 IDE(使用 CDT)来实现这种结构?

最后但并非最不重要的一点是,我打算使用 Autotools 选项创建我的 C 模块。当我向模块添加新的标头/源代码时,Autotools 生成的文件是否会自动更新 - 还是我需要手动维护 Autotool 文件?

【问题讨论】:

    标签: c eclipse eclipse-cdt autotools


    【解决方案1】:

    朋友, 我认为没有“父”C项目。您可以在 IDE 中创建一个普通的 C 项目并将所有依赖项添加到子文件夹中。然后通过 Makefile 告诉编译器你的构建过程。我认为这很简单,因为您有 C 应用程序的经验。

    关于自动工具,一旦您更新/添加/删除您的项目文件,我认为您需要修改您的 Makefile 以反映您的更改并清理和重建您的项目。

    对于其他 C 构建工具,如果您愿意,可以使用 buildroot

    【讨论】:

      【解决方案2】:

      我认为在 Eclipse 中执行此操作的最佳方法是为项目创建一个单独的工作区例如foo,然后将子项目(foobarfoofoo 等)添加为项目。这通常是使用 eclipse 的更好方法,而不是单个整体工作区。我不知道子项目的具体依赖结构是什么样子的,但是你应该可以简单地通过使用eclipse项目属性来表达它。这可以包括一个依赖于库的 rollup 可执行子项目。

      不幸的是,我不确定 eclipse cdt 是否会维护 autotools 文件。但是,如果没有,将一些 autotools 二进制文件(例如 autoscanautoheader)集成和使用到 eclipse 构建命令中应该相对容易。

      【讨论】:

        【解决方案3】:

        首先你需要一个working directory,然后你应该new project,然后per fileper class(根据C++或C)附加你的文件,这是非常安全的方式。另一种方式不干净,我有经验。不要使用它们。

        【讨论】:

          猜你喜欢
          • 2011-06-07
          • 2015-05-06
          • 1970-01-01
          • 2021-05-25
          • 2013-02-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-18
          相关资源
          最近更新 更多