C++ 链接到库是否与链接到库链接到库相同
我有一个项目C++ 链接到库是否与链接到库链接到库相同,c++,compilation,linker,shared-libraries,C++,Compilation,Linker,Shared Libraries,我有一个项目foo,它链接到libA、libB和libC 现在,这与projectfoo相同,后者链接到libZ,后者链接到libA,libB,以及libC 我这样做是因为我为SDL2编写了一个包装器库,它链接到lSDL2\u image。 但是,当我使用包装器库编译项目时,它会抱怨未定义的符号,并且只要我将我的项目与libSDL2_image链接,它就会工作。如果有代码调用libA、libB和libC中的函数,链接器必须知道它们,以便在链接阶段查找被调用的符号。无论调用方是您的主应用程序还是构
foo
,它链接到libA
、libB
和libC
现在,这与projectfoo
相同,后者链接到libZ
,后者链接到libA
,libB
,以及libC
我这样做是因为我为SDL2编写了一个包装器库,它链接到lSDL2\u image
。
但是,当我使用包装器库编译项目时,它会抱怨未定义的符号,并且只要我将我的项目与
libSDL2_image
链接,它就会工作。如果有代码调用libA
、libB
和libC
中的函数,链接器必须知道它们,以便在链接阶段查找被调用的符号。无论调用方是您的主应用程序还是构成项目一部分的其他库。否,您不能将一个库链接到另一个库。这就是为什么会出现链接器错误。您最多可以使用库管理工具将它们合并在一起。