Link 存档文件中的 SDL

Link SDL in archive file

我有一个项目,用于嵌入式 STM32。

我有一些代码 "strategy" 用于确定机器人应该去哪里。该策略使用 "pathfinding" 库。

后者可以使用SDL 进行调试(而且很酷:))。它使用 USE_SDL 标志来包含(或不包含)sdl 源文件并使用(输出)SDL gcc 标志进行编译。

现在我创建了一个 .a 存档文件,其中包含寻路库,稍后将 link 与策略目标文件一起编辑。没有 SDL 也能正常工作。

我希望策略项目完全独立于 SDL,即使在 makefile 中也是如此。 所以我想 "link" .a 文件中的 SDL 库,然后 link 它与策略文件。

我如何 link 带有寻路库的 SDL,而不必在策略中知道它 files/makefile?

谢谢:)

您不能 link 库到库。 (静态)库(我从您选择的标签中得出结论,我们正在谈论静态库)只是目标文件容器。

你可以做的(虽然如果这些库来自外部源并且你希望更新它并不实用)是从两个库中提取所有目标文件并将它们塞入一个新库中 linking反对未来:

ar x lib1.a
ar x lib2.a
ar rv new_lib.a *.o
ranlib new_lib.a