【发布时间】:2011-09-06 15:59:57
【问题描述】:
我有 3 个项目 A、B 和 C。 A 是通用的,被 B 使用,最终被 C 使用。 B 比较特殊,目前只有 C 使用。
现在我希望 A 和 B 尽可能多地被重用,我认为它们都是静态库。
所以我将 A 和 B 链接到静态库,将 C 链接到可执行文件,但是当我想链接 C 时
它在 A 函数上给了我一些 undefined reference 错误。因此,我将库 A 添加到链接器选项以解决此问题,但没有帮助。
所以我想:当我想部署 B 时,我还必须部署 A 才能进行链接。有没有办法将静态库 A 链接到静态库 B,这样我就不必部署 2 个文件?
如果是这样,我如何使用 Eclipse CDT 来实现这一点,因为我找不到为存档器定义其他目标的地方。
加法
我在 linux 下工作,但这些东西也应该在 windows 下工作。但主要是我需要一个 linux 的解决方案来继续开发。
编辑
现在我通过将 A 和 B 链接到静态库然后使用剩余的 *.o 文件将它们链接到可执行文件中“解决”了这个问题,但我不认为这很好。
【问题讨论】:
标签: c++ linux linker static-libraries eclipse-cdt