【问题标题】:Link static library to a dynamic library将静态库链接到动态库
【发布时间】:2021-04-23 07:43:36
【问题描述】:

我有一个 Visual Studio 2019 DLL 项目,我想针对它静态链接一个库。当我在 dll 中使用静态库中的符号时,它会正确构建。但是,当我将动态库项目链接到可执行应用程序时,应用程序会给出未解决的外部符号错误。我是否也必须将静态库链接到应用程序?

【问题讨论】:

标签: c++ visual-studio-2019 static-libraries dynamic-library


【解决方案1】:

DLL 是二进制文件,类似于EXE 文件,因此当您将其链接到静态库时,必须满足所有依赖关系。一个链接到这个动态库的EXE 文件不知道它的任何内部结构,比如一些静态库的符号,因此由于静态库,不应该有任何未解析的符号。

获得此功能的唯一方法是将EXE 也链接到静态库并使用其中的一些符号,但这与DLL 无关。

所以不,除非您在 EXE 文件中使用静态库中的某些内容,否则您不需要链接它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    相关资源
    最近更新 更多