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

6
我正在从Netbeans迁移到Eclipse(在Ubuntu 12.0.4上)。我有一个由几个子项目组成的C应用程序,它们是库(共享和静态),以及独立的可执行文件。
我无法弄清如何创建包含组件项目的“父”项目foo。
Ideally, 我希望所有“组件项目”都创建在文件夹foo下,这样我就有了以下目录结构:
/path/to/foo/foobar/(包含foobar项目文件)
/path/to/foo/foofoo/(包含foofoo项目文件)
/path/to/foo/barfoo/(包含barfoo项目文件)
/path/to/foo/barbar/(包含barbar项目文件)
有人知道我如何使用CDT作为IDE(使用Eclipse)实现此结构吗?
最后但并非最不重要的,我打算使用Autotools选项创建我的C模块。 当我向模块添加新标头/源时,是否会自动更新Autotools生成的文件 - 还是我需要手动维护Autotool文件?
3个回答

2

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

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

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


1
在eclipse中,我认为最好的方法是创建一个单独的工作区间用于项目(例如foo),然后将子项目(如foobar,foofoo等)添加为项目。这通常是使用eclipse的更好方法,而不是使用单个庞大的工作区间。我不知道子项目的特定依赖关系结构,但您应该能够通过使用eclipse项目属性来简单地表达它。这可以包括一个rollup可执行子项目,该项目依赖于库。
不幸的是,我不确定eclipse cdt是否会维护autotools文件。但是,如果不行,将一些autotools二进制文件(如autoscan和autoheader)集成并用于eclipse构建命令应该相对容易。

1
起初,您需要一个“工作目录”,然后您应该“新建项目”,然后根据C++或C,使用“每个文件”或“每个类”将您的文件附加到项目中,这是一种更加安全的方式。另一种方法不够干净,我有经验,不要使用它们。请保留HTML标记。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接