我如何知道 Visual studio 我的附加 .dll 文件在哪里?

How can I tell Visual studio where my additional .dll files are?

我最近将 C++ 项目的 IDE 更改为 Visual Studio 2019。我很容易按照教程在 visual studio 中设置了一个像 SFML 这样的新库,并告诉它附加的包含和库目录在哪里。

但是它还需要一些其他的东西才能工作,那就是 .dll 文件。我关注的每一页,甚至 Documentation by the SFML website,都说它们必须与我的项目位于同一目录中。这意味着我需要将 7-8 文件复制粘贴到我的项目目录中。这确实使文件夹看起来不整洁。我想创建一个新文件夹并告诉 Visual Studio 这些文件在哪里。我试着这样做

Project -> Properties -> Linker -> Input -> Additional dependencies

通常,可行的行是

sfml-system-d.lib
sfml-window-d.lib
...

我试过 $(ProjectDir)valid path\ sfml-files.lib 但这给了我 linker 错误,说它找不到文件。

如果我只是将 .dlls 移动到文件夹中而不做任何事情,代码将编译并且 link 正常。但是当它运行时,Windows 给了我一个带有相同错误信息的弹出框。

这是目前的样子

看起来真的很乱,我只是希望能够将它们移动到 dependencies 中,就像 src 包含源文件的方式一样。

我怎样才能做到这一点?

就像现在一样,它工作得很好。只有在我尝试创建新文件夹时才会出现此问题。

我希望我已经涵盖了一个好的答案所需的重要信息,如果没有,请告诉我还应该添加什么

你可以为你指定的目录创建一个路径环境,这就像drescherjm的建议。步骤:

  1. Right-click“这台电脑”->“属性”->“高级系统设置”
  2. 点击“环境变量”
  3. 在“系统变量”组中,编辑“路径”
  4. 添加你的目录,例如:”D:\SFML-2.5.1\bin”
  5. 重新启动您的 visual studio 和 re-open 您的项目

更简单的解决方案可能是将它们放在 x64 子目录中。这使您可以同时进行各种构建 (x86/x64、debug/release)。

由于这个 x64 目录是 EXE 所在的位置,因此它是搜索 DLL 的第一个目录。它将优先于其他答案中建议的路径解决方案。最后搜索 Path 目录。