问题描述:编了一个debug版本的程序,在开发这边运行是好的,在一台装过产品的机子上是找不到dll。
步骤1
通过Process Explorer 查看开发机器上的dll调用,发现是调用的本目录下的dll没错。
在产品机器上,发现本目录下有要调用的dll。(如果可用查下注册表中是否存在,存在的话可先反注册一下,确保调用的本目录下的dll)
步骤2
查看产品机器上的dll是否是可用的,通过depends工具,打开dll看其依赖是否正常,发现不正常,调用的debug版本的库不存在
步骤3
将depends分析的最顶层的dll,记录下来,并从开发机拷贝到产品机器exe目录,运行成功。
补充一个情况
放到exe目录下的dll 有注册情况,这样一直会用注册的dll,而不会用当前目录下的。