2

我有一组 Eclipse c 项目,它们都将引用一个公共共享代码库(同一文件夹中的 .c 和 .h 文件的混合),但将在每个项目的基础上以不同的方式构建该代码。

可以从每个项目中编辑公共代码库,但这些编辑将是跨所有项目进行的修复。除了通过定义的构建选项外,每个项目的通用代码不会有分歧。

如果我为这个库创建一个项目,这意味着我不需要构建一个库。我需要将生成的目标文件放到为其构建的项目中。所以 ac/c++ 项目没有意义。

公共代码将被签入到一个颠覆回购(每个项目也一样)。我可以使用“新文件夹 -> 链接资源”,但我更愿意让项目独立于开发人员碰巧使用的目录结构。

有没有一种干净的方法可以做到这一点?

谢谢。

4

1 回答 1

3

我不确定这是否适用于您的 Eclipse 版本或 CDT(我使用 Java 对其进行了测试),但您似乎应该创建第二个源文件夹。由于源文件夹通常对其所在的项目是私有的,因此您必须创建一个链接文件夹...(根据您上面的描述,我想您可能已经这样做了,但是为了完整的答案,我包括以下步骤)。

我是这样做的:

  1. 在您的项目中创建一个新项目
  2. 选择文件夹(不是源文件夹,而是简单文件夹)
  3. 在文件夹创建对话框中单击“高级>>”按钮并选中“链接到文件系统中的文件夹”复选框
  4. 点击“浏览”,选择常用源文件所在的文件夹
  5. 点击完成

您现在有一个简单的文件夹,但是为了在您的编译中包含文件夹中的文件(至少在 Java 中它是这样工作的),您需要创建一个源文件夹:

  1. 在您的项目中创建一个新项目
  2. 选择“源文件夹”
  3. 单击“文件夹名称”文本框旁边的“浏览”
  4. 选择新创建的链接文件夹

现在,在我的 Eclipse 版本和 Java 中,这个文件夹包含在代码编译中。它希望在 CDT 中以相同的方式工作......

如果您运行带有真正符号链接的操作系统(Linux、OSX?),您也可以在项目中使用符号链接文件夹作为额外的源文件夹,然后您应该能够执行上面的“源文件夹”创建步骤。

如果您的 Eclipse 版本在 Source Folder 创建对话框中没有“浏览”按钮,请尝试在文本框中输入相同的名称。

问候,

/E

于 2009-12-27T09:27:07.940 回答