我有一个名为 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/