LoadLibrary加载dll失败, 报告"找不到指定的模块" 的问题的解决

老杨封装了一个视频处理的C++编写的DLL. C#程序里LoadLibrary加载dll失败, 报告"找不到指定的模块" . 

一些文章说是DLL的unicode设置的问题. 设置Visual Studio的unicode环境设置: C/C++, Preprocessor difinitions 去除_MBCS,加_UNICODE,UNICODE   无效

用Dependency Walker查看我编写的封装dll的依赖项, 除了avcodec.dll, avutil.dll等几个之外, Dependency Walker还报告以下依赖的dll找不到:

API-MS-WIN-CORE-COM-L1-1-0.DLL 

API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL 

API-MS-WIN-CORE-WINRT-L1-1-0.DLL 

API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL 

API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL 

API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL 

DCOMP.DLL 

GPSVC.DLL 

IESHIMS.DLL 

 

后来查找到http://stackoverflow.com/questions/1043913/copying-a-dlls-dependencies-in-visual-studio

里面提到Dependency Walker is misleading in this case and caused me to lose time. the list of "missing" dlls from first post is not helpful, you can probably ignore it. 

即Dependency Walker的报告其实是误导了, 上面的那些依赖DLL其实都用不着, 还是只要有avcodec.dll, avutil.dll那几个就可以了, 把这几个dll移至exe可执行文件的同一目录下,问题解决!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值