【问题标题】:Is linking with libraries the same as linking to a library linking with libraries与库链接与链接到与库链接的库相同
【发布时间】:2016-03-13 19:57:39
【问题描述】:

我有一个项目foo,它链接到libAlibBlibC

现在与拥有项目foo 相同,该项目链接到libZ,该项目链接到libAlibBlibC

我问是因为我为 SDL2 编写了一个包装库,它链接到 lSDL2_image。 然而,当我使用我的包装库编译一个项目时,它会抱怨未定义的符号,并且只要我将我的项目与libSDL2_image 链接起来,它就可以工作。

【问题讨论】:

  • 不,您不能将一个库链接到另一个库。这就是为什么你当然会得到链接器错误的原因。您最多可以使用图书馆管理工具将它们合并在一起。

标签: c++ compilation linker shared-libraries


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-02
    • 2016-01-02
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    相关资源
    最近更新 更多