VS2010项目显示缺少外部dll

VS2010 project shows external dll are missing

我正在尝试嵌入外部软件以在 VS2010 中调用 API。我将 lib 和外部软件的路径包含在我的 VS 项目中->属性->C\C++->常规->附加包含目录和属性->链接器->常规->附加库目录。我什至在 Properties->Linker->Input->Additional Dependencies 中包含了 lib 文件名。当我执行该项目时,我收到错误消息,指出机器中缺少一个 dll(我已包含其库)。当我将相同的dll 复制到VS 项目的运行 时间路径时,项目工作正常但与外部项目的关联失败。除了我在此处发布的内容之外,您能否提出任何解决方案。谢谢你。

包含路径和指定的附加库仅供您 compiler/linker 用于构建程序。由于您显然使用了动态链接,因此该程序仍然需要这些库,但不知道在哪里可以找到它们。

当您尝试 运行 程序时,windows 将尝试加载这些库。 windows 将寻找这些的地方描述为 here

  1. 当前进程的可执行模块所在的目录。

  2. 当前目录。

  3. Windows系统目录。 GetSystemDirectory 函数检索此目录的路径。

  4. Windows目录。 GetWindowsDirectory 函数检索此目录的路径。

  5. PATH 环境变量中列出的目录。

如您所见,它首先从您执行程序的文件夹中搜索,这就是当您将所有 dll 与 exe 放在一个文件夹中时它对您有用的原因。

如果你不想这样做,你可以将可以找到 dll 的位置添加到 PATH 环境变量(推荐)或将它们全部复制到 windows/system32 文件夹中,因为那是另一个地方 windows 将查找 dll。