【问题标题】:Linking to static libraries in Visual Studio 2010在 Visual Studio 2010 中链接到静态库
【发布时间】:2011-05-30 13:00:22
【问题描述】:

须知:

  • 我很确定我使用的是正确的静态库(包括 dllexport 和所有)
  • 生成的 .lib 文件非常大(3M、8M 等)。共享的在 300K-1M 左右。所以我很确定 .lib 文件是静态的
  • 我想在单独的解决方案中链接到这些静态库文件
  • 这是一个非托管 C/C++ 项目

我了解到我需要使用新 UI(通用属性 > 添加新参考)。但要使其正常工作,我需要将整个项目添加到我的解决方案中。有没有办法将我的项目链接到静态库(不添加其源代码)。

【问题讨论】:

    标签: c++ visual-studio-2010 linker static-libraries


    【解决方案1】:

    “添加新引用”是一个 .NET 选项,用于添加程序集引用。您不能在 .NET 中创建静态链接库,程序集总是动态加载的。暂停怀疑并实际回答问题:您使用对话框中的“浏览”选项卡来避免将项目添加到解决方案中。

    使用静态链接库的本机项目必须改用链接器、输入、附加依赖项设置。也不需要添加生成 .lib 的项目。如果您没有指定 .lib 的完整路径,那么您可以使用 Linker、General、Additional Linker Directories 告诉链接器在哪里寻找 .lib

    【讨论】:

    • ?!我刚刚编译了一个这样的 C++ 项目!我尝试了 Additional Dependencies 设置 - 没有用。它使用这些库作为标准共享库。我可能错过了一些步骤吗?
    • 此时,您是否使用 C++/CLI 语言编写托管代码仍然完全不清楚。很难帮助您缺少这些基础知识。至少仔细记录您收到的错误消息。
    • 没有错误 - 一切正常。这都是非托管代码。但是我必须包含该库的整个源代码才能使其正常工作。我确信有一个更简单的方法。
    • “必用”有点强。这是无需将项目添加到解决方案的方法。但在许多情况下,项目引用(不限于 .NET 程序集)是可行的方法,您会自动获取匹配(发布/调试)库并在依赖项更改时触发依赖项目的重建。跨度>
    猜你喜欢
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 2011-02-26
    • 1970-01-01
    • 2012-09-30
    • 2015-12-07
    相关资源
    最近更新 更多