我有一个使用Visual Studio(2008)构建的C++应用程序,链接到了Boost DLL。在调试时,似乎需要将Boost DLL复制到debug文件夹中,以便在IDE中运行的exe可以链接到它。我可以使用后期构建步骤来复制DLL,但我想知道是否有Visual Studio中的设置可以为调试提供额外的DLL搜索路径?
我有一个使用Visual Studio(2008)构建的C++应用程序,链接到了Boost DLL。在调试时,似乎需要将Boost DLL复制到debug文件夹中,以便在IDE中运行的exe可以链接到它。我可以使用后期构建步骤来复制DLL,但我想知道是否有Visual Studio中的设置可以为调试提供额外的DLL搜索路径?
在 Windows 上,对于隐式链接到 EXE 的 DLL,选项并不多。除了将 DLL 存储在与 EXE 相同的文件夹中,您还可以将其存储在列在 PATH 环境变量上的目录中。只有 c:\windows\system32 被保证被列出,您不能合理地使用该文件夹。更改系统环境的安装程序可能有效,但仍不合理。
唯一真正的选择是将 DLL 存储在 WinSxS 旁边的缓存中。您需要编写一个清单,以便 Windows 可以找到 DLL。您还需要编写一个安装程序,将 DLL 放入 WinSxS 中。鉴于文档的质量,您必须真的非常想这样做。
如果这只是调试时的考虑,那么在开发机器上更改 PATH 或许并不是什么大问题。使用控制面板,系统小程序。