【问题标题】:VS2010 project shows external dll are missingVS2010 项目显示缺少外部 dll
【发布时间】:2016-06-01 14:57:23
【问题描述】:

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

【问题讨论】:

    标签: visual-studio-2010


    【解决方案1】:

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

    当您尝试运行程序时,Windows 将尝试加载这些库。 Windows 将查找这些的位置描述为here

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

    2. 当前目录。

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

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

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

    正如您所看到的,它首先搜索执行程序的文件夹,这就是为什么当您将所有 dll 和 exe 放在一个文件夹中时它对您有用。

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

    【讨论】:

    • 我将 dll 的路径添加到 PATH 中,它运行良好 Warloxx。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    相关资源
    最近更新 更多