【问题标题】:Referencing a dll project with separated binary folder in Visual Studio在 Visual Studio 中引用具有分隔二进制文件夹的 dll 项目
【发布时间】:2017-12-10 22:16:35
【问题描述】:

我有一个包含两个项目的 Visual Studio 2013 c++ 解决方案:

  • 生成 dll,
  • 和另一个测试这个 dll 的。

对于每个项目,我都修改了输出和中间目录。

解决方案:

  • 项目 DLL:
    • /bin
    • /构建
    • /src
  • 项目测试:
    • /bin
    • /构建
    • /src

有什么方法可以在不被复制的情况下引用测试项目中生成的dll?类似于静态库的东西,在 Visual Studio 的情况下,它只是作为已链接的引用添加。

Visual Studio 丢失的部分是我更改了二进制输出文件夹。使用默认选项(为所有项目生成二进制文件的文件夹)没有问题。

【问题讨论】:

    标签: c++ visual-studio dll visual-studio-2013


    【解决方案1】:

    编辑您的测试项目属性,在链接器>常规选项卡上,您将找到附加库目录设置 - 在此处添加您的库目录。然后你可以将你的库添加到 Linker>Input>Additional Dependencies。

    【讨论】:

    • 这(链接器>输入>附加依赖项)仅适用于静态库。
    • 我的错误。在这种情况下,您可以通过在“常规”选项卡中更改其设置来将项目编译为静态库,或者将 dll 的路径添加到 PATH 环境变量中。
    • 请注意,使用静态 (.lib) 库时,您仍然需要将其目录添加到附加库目录,并将 yourlibrary.lib 文件添加到链接器>输入>附加依赖项。您还需要在附加包含目录(C++ 常规选项卡)中提供头文件。我刚刚测试了这个(VS Community 2017),它工作得很好。
    • 好的,当我使用 .DLL 时,我仍然需要将 .LIB 包含到编译器中,但我无法让 Visual Studio 找到我的 .DLL(位于另一个目录中) .我已经包含了标题。
    猜你喜欢
    • 2010-12-15
    • 2010-10-13
    • 2014-01-27
    • 1970-01-01
    • 2010-12-21
    • 2019-11-16
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多