2013-05-17 23 views
6

我正在从NetBeans迁移到Eclipse(在Ubuntu 12.0.4上)。我有一个C应用程序,它由几个子项目组成(共享和静态)以及独立的可执行文件。使用Eclipse构建多模块C项目(即解决方案)CDT

我无法弄清楚如何创建一个 '父' 项目foo,其中包含组件项目

  • foobar的
  • foofoo
  • barfoo
  • BARBAR

理想,我想要在文件夹foo下创建所有'组件项目',以便我拥有目录结构是这样的:

  • /路径/到/富/ foobar的/(包含foobar的项目文件)
  • /路径/到/富/ foofoo /(包含foofoo项目文件)
  • /路/到/富/ barfoo /(包含barfoo项目文件)
  • /路径/到/富/ BARBAR /(包含BARBAR项目文件)

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

最后但并非最不重要的,我打算使用Autotools选项创建我的C模块。生成的Autotools文件会自动更新,因为我将新的标题/源添加到模块 - 或者是否需要手动维护Autotool文件?

回答

1

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

关于autotools,一旦你更新/添加/删除你的项目文件,我认为你需要修改你的Makefile来反映你的变化,并做清理和重建你的项目。

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

1

我认为在eclipse中这样做的最佳方式是为项目创建一个单独的工作区,例如, foo,然后添加子项目(foobar,foofoo等)作为项目。这通常是采用eclipse而不是单个单一工作空间的更好方法。我不知道子项目的特定依赖关系结构是什么样子,但是您应该可以简单地使用eclipse项目属性来表达它。这可以包括一个汇总取决于库的可执行子项目。

不幸的是,我不确定eclipse cdt是否会保留autotools文件。但是,如果没有,将诸如autoscanautoheader等一些自动工具二进制文件集成并使用到eclipse构建命令中应该相对容易。

1

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