windows 找不到 dll,即使它在 PATH 的目录中
windows cant find dll even thought its in a directory in the PATH
我有一个名为 funner.cpp 的 cpp 文件,我使用以下命令将其编译为一个 dll 文件:(顺便说一句,使用 Microsoft 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 变量中。
然后我尝试了 运行ning 可执行文件,但它给我一个错误,说 dll 丢失了?
但是 windows 不会在 PATH 变量中的所有目录中搜索 dll 吗?
为什么找不到我的dll?
命令行不会收到更新的PATH
,直到您关闭并重新打开它。
打开一个新命令行并从那里调用可执行文件。
我有一个名为 funner.cpp 的 cpp 文件,我使用以下命令将其编译为一个 dll 文件:(顺便说一句,使用 Microsoft 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 变量中。
然后我尝试了 运行ning 可执行文件,但它给我一个错误,说 dll 丢失了?
但是 windows 不会在 PATH 变量中的所有目录中搜索 dll 吗?
为什么找不到我的dll?
命令行不会收到更新的PATH
,直到您关闭并重新打开它。
打开一个新命令行并从那里调用可执行文件。