【问题标题】:Can I include an existing static library in my own static library project?我可以在自己的静态库项目中包含现有的静态库吗?
【发布时间】:2021-03-22 19:30:03
【问题描述】:

我正在 Visual Studio 中创建一个供个人使用的静态库项目,我想将另一个现有的静态库包含到我自己的静态库中。
通常(对于可执行项目)我可以在项目的属性中设置额外的 include 和 lib 目录,但是这次菜单不同,我不知道要使用哪些设置。我该怎么做?

【问题讨论】:

    标签: visual-studio visual-c++ static-libraries static-linking


    【解决方案1】:

    您可以在静态库中包含静态库,但这通常会导致臃肿和其他问题。

    最好的方法通常是使用#pragma 将链接库添加到您的“公共标头”中,以便自动链接:

    #pragma comment(lib,"nameoflibIneed.lib")
    

    【讨论】:

    • 我还不完全熟悉所有的构建过程,所以我可能没有正确理解所有内容,也许我没有问正确的问题。我已将您建议的内容添加到我的库的标题中,但它仍然无法编译。智能感知也无法从现有库中找到任何类或方法。
    • 您应该打开一个包含特定错误的新问题。此外,仅仅因为 IntelliSense 向您显示错误并不意味着它不会构建。
    【解决方案2】:

    我想出了一种让它发挥作用的 hacky 方法。 我只是像在普通项目中一样正常包含该库,然后才将项目类型更改为 .lib。
    显然,即使项目配置页面中的相应菜单消失了,更改项目类型后也会保存其他依赖项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-29
      • 1970-01-01
      • 2018-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多