c++ - windows 无法找到 dll,即使它位于 PATH 中的目录中

标签 c++ windows cl

我有一个名为 funner.cpp 的 cpp 文件,我使用以下命令将其编译为 dll 文件:(使用微软的 CL 编译器,顺便说一句)

   cl /LD funner.cpp

生成以下文件:funner.lib、funner.dll。

然后我创建了另一个名为 mainer.cpp 的 cpp 文件,它调用 dll 中的函数。

我使用以下命令编译了该文件:

   cl mainer.cpp /link funner.lib

然后生成一个名为 mainer.exe 的可执行文件。

当我运行 mainer.exe 时,程序按预期运行,并且我没有收到任何错误。 (只要funner.dll文件在同一目录下即可)

但是我想将 funner.dll 移动到其他地方的另一个目录,例如:

   c:\my_dlls\

所以我这样做了,然后将该文件夹添加到我的系统 PATH 变量中。

然后我尝试运行可执行文件,但它抛出一个错误,提示 dll 丢失?

但是 Windows 不会在 PATH 变量中的所有目录中搜索 dll 吗?

为什么找不到我的dll?

最佳答案

在关闭并重新打开命令行之前,命令行不会收到更新的 PATH

打开一个新的命令行并从那里调用可执行文件。

关于c++ - windows 无法找到 dll,即使它位于 PATH 中的目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46006045/

相关文章:

c# - 访问 Windows 注册表 LOCAL_MACHINE 中的键

c++ - 将 CMake 集成到 Qt 项目中

c++ - 部分模板特化触发 static_asserts

c++ - 搜索/替换 boost 正则表达式 C++

c++ - 在模块列表中缺少应用程序的服务上进行 VS2010 C++ 远程调试

windows - 递归搜索注册表

c++ - GL_TEXTURE_RECTANGLE_ARB 不适用于着色器和 OS X

c++ - 在 Windows 中获取当前注册的组织名称(公司名称)

c++ - Visual C++ 优化选项 - 如何改进代码输出?

从命令行使用 Visual C++ 2013 编译 C/SDL 程序