与库链接与链接到库链接相同

Is linking with libraries the same as linking to a library linking with libraries

我有一个项目 foo,已 link 编辑到 libAlibBlibC

现在与项目 foo 相同,link 编辑为 libZ,link 编辑为 libAlibB, 和 libC.

我问是因为我为 SDL2 编写了一个包装器库,linked 到 lSDL2_image。 然而,当我使用我的包装器库编译一个项目时,它会抱怨未定义的符号,并且一旦我 link 我的项目也反对 libSDL2_image,它就会工作。

如果任何代码调用来自 libAlibBlibC 的函数,链接器必须知道它们以便在链接阶段找到被调用的符号。无论调用者是您的主应用程序还是构成项目一部分的其他库。