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我已经添加了一些附加信息,以便更好地描述这个案例。