【C++加载dll失败之依赖检查】
C++加载dll失败之依赖检查
- 1.问题背景描述
- 2.dll加载失败问题解决参考
- 3.问题特点描述
- 4.dumpbin检查依赖
1.问题背景描述
c++的程序调用了一个别人编译的dll文件,发现同样一个dll文件在有的人电脑上能运行而有的人电脑上不能运行。
2.dll加载失败问题解决参考
别人写的,觉得挺好。
链接: link.
3.问题特点描述
首先,参考上面的那个链接,仔细核对路径和字符类型都没有问题;
其次,用同样的方法调用了同一个路径下的另外一个dll文件,结果可以正常调用另外一个dll文件中的函数;
结论:问题出在被调用的dll上!!!
4.dumpbin检查依赖
网上搜了一下,有同学讲dumpbin也有检查依赖的功能。
批处理脚本:
执行结果:
对比发现
1.不能正常调用的dll文件比能正常调用的dll文件的依赖多出了MSVCP100,MSVCR1000等dll
2.然后就怀疑到可能是编译dll的人使用的VS版本中有这个依赖的dll,而用这个dll的电脑可能没有,比如vs的版本差异等;导致有的人可能不是MSVCR100而是MSVCR110;
3.那么有没有可能生成的dll不使用这两个依赖呢?
可以的,参考下面链接然后重新编译的dll就不需要MSVCR的库了。
链接: link.
【C++加载dll失败之依赖检查】相关推荐
- C#导入Excel2010出现加载DLL失败或者类库未注册的问题,0x8002801D或者0x80029C4A .
最近在客户机器上出现了无法导出报表的问题,错误提示为: System.InvalidCastException: Unable to cast COM object of type 'Microsof ...
- 解决QT加载dll失败问题
1.dll源码如下(使用vs2015编译): // 下列 ifdef 块是创建使从 DLL 导出更简单的 // 宏的标准方法.此 DLL 中的所有文件都是用命令行上定义的 SUM_EXPORTS // ...
- 每日一坑:加载DLL失败:找不到指定模块
调用dll库,报错.找不到指定模块 以为是路径没对,找不到调用的这个库,打印输出了好几遍加载路径,都没发现哪里有问题,路径也没有出现乱码. 突然灵光一现: 被调用的这个库(A),依赖的其他动态库(B) ...
- python加载dll失败_python tensorflow导入DLL加载失败
我安装了最新的 python 3.6.4 x64版本 然后使用pip3为cpu-only安装tensorflow C:\>pip3 install tensorflow 但是当我尝试在pytho ...
- python加载dll失败_Python导入错误+DLL加载失败+搜索路径
在python2.7.10anaconda 2.3.0(64位)中,如果我写sys.path.append('C:\\Anaconda\\sms-tools-master\\software\\mod ...
- 64位ie加载java失败_java-无法在AMD 64位平台上加载IA 32位.dll
java-无法在AMD 64位平台上加载IA 32位.dll 我正在尝试通过此页面上的JNI包装器使用Java中的SVMLight: static { System.loadLibrary(" ...
- LoadLibrary无法加载.dll解决思路
动态载入DLL所需要的三个函数详解(LOADLIBRARY,GETPROCADDRESS,FREELIBRARY) dll, lib, h的区别 dll是动态库, 将其链接进工程, 一般用LoadLi ...
- android动态设置错误页面,Android中替换WebView加载网页失败时的页面
我们用webView去请求一个网页链接的时候,如果请求网页失败或无网络的情况下,它会返回给我们这样一个页面,如下图所示: 上面这个页面就是系统自带的页面,你觉得是不是很丑?反正小编本人觉得非常丑,很难 ...
- 无法加载 DLL“oramts.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
最近在做一个小项目,语言VS2005,C#,数据库Oracle9i,但是为了兼容以前数据库SqlServer2005,以便于数据库版本的切换,事务中,仍然使用 System.Transaction.T ...
- 加载dll api_运行时类加载以支持不断变化的API
加载dll api 我维护一个IntelliJ插件 ,可以改善编写Spock规范的体验. 这个项目的挑战是在单个代码库中支持多个且不兼容的IntelliJ API版本. 回想起来,该解决方案很简单(这 ...
最新文章
- [实战]HM-Router configuration for TP ROOM
- JeecgBoot Minio版本6.0.13升级到8.0.3修改方法
- Linux 修改SSH端口 和 禁止Root远程登陆
- python中如何判断输入的是否是数字_python如何判断输入是不是数字
- 静态密码已经OUT 探索身份验证新方式
- java ajax 返回乱码,解决使用$.ajax的时候得到返回乱码
- 一次HBase问题的解决过程(Status: INCONSISTENT)
- mxm智能教育机器人无法智能对话_关于智能语音机器人使用中可能出现的问题
- MySQL---行转列
- 修改PT622光猫导致的一系列故障
- 【解决办法】解决OneDrive登陆界面空白的方法
- prisma2.0和nexus搭建graphql后端(2)—nexus
- macos可以升级到指定版本吗_[macOS]如何升级更新 Mac 系统
- Laravel中使用webhook开发Telegram机器人自定义指令
- Java培训机构靠不靠谱?能不能学会?
- 用群晖筑建音乐之「家」
- Stand-Alone Self-Attention in Vision Models阅读笔记
- 《2015年中国移动游戏行业研究报告》
- Java 简单计算器(加法)
- 黑苹果MacOS Monterey 12.0 -12.3 OpenCore 0.8.0 (OC) 引导升级教程(最新版)
热门文章
- 这行情我还老是管不住手,少kui点就偷着笑吧
- Angular最佳实践之$http-麻雀虽小 五脏俱全
- linux下 pxe服务器,Linux 的 PXE 与 UEFI PXE 依赖服务器配置
- psc格式文件 的数据库导入问题
- Spring -> Spring中Bean是线程安全的吗
- 如何将720P的mp4视频转换成1080P的视频?视频分辨率如何修改?
- 基于ARM的嵌入式SMTP远程控制设计
- 上课笔记-机器学习(4)-泰坦尼克号沉没乘客存活分析
- android 获取alertdialog的view,Android开发实现AlertDialog中View的控件设置监听功能分析...
- 浅谈程序员接私单那点事及接私单需要注意的问题