windows无法找到dll,甚至认为它位于PATH

时间:2017-09-01 18:25:28

标签: c++ windows cl

我有一个名为funner.cpp的cpp文件,我使用以下命令编译成dll文件:(使用microsofts 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不搜索dll的PATH变量中的所有目录吗?

为什么它找不到我的dll?

1 个答案:

答案 0 :(得分:1)

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

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