Visual studio 如何在构建项目时管理库?

Visual studio 如何在构建项目时管理库?,visual-studio,cmake,Visual Studio,Cmake,我有一个项目XXX,它依赖于另一个框架YYY。该框架提供了一个YYYConfig.cmake。当我使用cmakegui配置项目时,我在YYY\u DIR变量上添加了框架。我生成并构建解决方案。现在,当我运行XXX.exe时,我得到一个错误,无法加载来自YYY的.dll。如果我是对的,可以找到.lib库和头文件 我在网上看到,.dll必须放在.exe所在的文件夹中。但是为什么我不能只使用YYY的安装文件夹中已经存在的.dll?有没有办法自动将我的项目所需的所有.dll放入正确的文件夹 我觉得我缺乏

我有一个项目
XXX
,它依赖于另一个框架
YYY
。该框架提供了一个
YYYConfig.cmake
。当我使用
cmakegui
配置项目时,我在
YYY\u DIR
变量上添加了框架。我生成并构建解决方案。现在,当我运行
XXX.exe
时,我得到一个错误,无法加载来自
YYY
.dll
。如果我是对的,可以找到
.lib
库和头文件

我在网上看到,
.dll
必须放在
.exe
所在的文件夹中。但是为什么我不能只使用
YYY
的安装文件夹中已经存在的
.dll
?有没有办法自动将我的项目所需的所有
.dll
放入正确的文件夹

我觉得我缺乏一些关于部署的基本知识,所以我非常感谢任何关于这方面的有用参考或链接。谢谢


补充资料

我已经构建了一个框架,即使用
vcpkg
cmakegui
和visualstudio 2019。已安装框架的文件夹包含以下文件夹:

  • bin
    包含许多
    .exe
    .dll
  • share
    其中
    AliceVisionConfig.cmake
    位于
  • 包括
    和框架的许多
    .hpp
    和其他依赖项
  • lib
    与许多
    .lib
现在我尝试用
main.cpp

#包括

#包括,是的,找不到的是此
.dll
。找到了所有Windows
.dll
内容…

您应该提供cmake You library:

add_library(aliceVision_system SHARED IMPORTED)

如果不知道该预编译库的路径,则为evtl。您需要尝试定义
链接\u目录(指向您的\u库的路径)

您应该提供cmake your library:

add_library(aliceVision_system SHARED IMPORTED)

如果不知道该预编译库的路径,则为evtl。您需要尝试定义
链接目录(指向您的库的路径)

查看Windows在查找
.DLL
文件时使用的搜索算法。确保第一个项目实际创建了
.DLL
而不是
.LIB
。请将详细信息发布到这张罚单上,以帮助我们回答您的问题。@MikeRobinson我已经添加了一些附加信息,以便更好地描述这个案例。请查看Windows在查找
.DLL
文件时使用的搜索算法。确保第一个项目实际创建了
.DLL
而不是
.LIB
。请在这张票上贴出详细信息,以帮助我们回答您的问题。@MikeRobinson我已经添加了一些附加信息,以便更好地描述这个案例。