我有一个名为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?
答案 0 :(得分:1)
在您关闭并重新打开它之前,命令行不会收到更新的PATH
。
打开一个新命令行并从那里调用可执行文件。