使用Eclipse CDT构建多模块C项目(即解决方案)

时间:2013-05-17 01:13:35

标签: c eclipse eclipse-cdt autotools

我正在从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 /(包含栏栏项目文件)

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

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

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

我认为在eclipse中这样做的最好方法是为项目创建一个单独的工作区。 foo ,然后将子项目( foobar foofoo 等)添加为项目。这通常是采用eclipse而不是单个整体工作空间的更好方法。我不知道子项目的具体依赖结构是什么样的,但你应该能够通过使用eclipse项目属性来表达它。这可以包括依赖于库的汇总可执行子项目。

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

答案 2 :(得分:1)

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