与库链接与链接到库链接相同
Is linking with libraries the same as linking to a library linking with libraries
我有一个项目 foo
,已 link 编辑到 libA
、libB
和 libC
。
现在与项目 foo
相同,link 编辑为 libZ
,link 编辑为 libA
,libB
, 和 libC
.
我问是因为我为 SDL2 编写了一个包装器库,linked 到 lSDL2_image
。
然而,当我使用我的包装器库编译一个项目时,它会抱怨未定义的符号,并且一旦我 link 我的项目也反对 libSDL2_image
,它就会工作。
如果任何代码调用来自 libA
、libB
和 libC
的函数,链接器必须知道它们以便在链接阶段找到被调用的符号。无论调用者是您的主应用程序还是构成项目一部分的其他库。
我有一个项目 foo
,已 link 编辑到 libA
、libB
和 libC
。
现在与项目 foo
相同,link 编辑为 libZ
,link 编辑为 libA
,libB
, 和 libC
.
我问是因为我为 SDL2 编写了一个包装器库,linked 到 lSDL2_image
。
然而,当我使用我的包装器库编译一个项目时,它会抱怨未定义的符号,并且一旦我 link 我的项目也反对 libSDL2_image
,它就会工作。
如果任何代码调用来自 libA
、libB
和 libC
的函数,链接器必须知道它们以便在链接阶段找到被调用的符号。无论调用者是您的主应用程序还是构成项目一部分的其他库。