前排提示,本文适用于专业人群,不是科普文哈。
长话短说,在我们日常的coding过程中,有可能在调用dll或其他(大概率是调用dll时)程序模块时,遇见此错误。
比如,有的时候你调用的dll明明就在某目录下,且程序中的路径丝毫不差,但执行时却会报出此错误。这个不是程序的问题,是Windows系统的一个遗留问题。
下面我们来解决一下:
首先假设我们自己的程序叫A,需要调用的dll叫B,B还需要调用另一个dll叫C。
出现错误的情况:你的程序文件A和需要调用的dll文件B不在同一目录,或A与B在同一目录,但C不在。
出现错误的原因:Windows在你的A文件中发现要使用B,所以会在当前工作目录和系统PATH中寻找B,如果找到,又发现还需要使用C,所以又会去寻找C,B和C其中有任一文件没找到,都会报此错误。
解决办法:ABC放于同一目录;或B和C的目录都加入到系统环境变量中
如果你使用的是Python,且B和C在同一目录,可在A中使用os.chdir()将当前工作目录切换到B和C所在目录。
总结:如果Windows找不到任何一个需要使用的dll,就会出现此错误
附:Windows系统寻找dll的方式:
https://docs.microsoft.com/en-us/previous-versions/7d83bc18(v=vs.140)?redirectedfrom=MSDN