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失败之依赖检查】相关推荐

  1. C#导入Excel2010出现加载DLL失败或者类库未注册的问题,0x8002801D或者0x80029C4A .

    最近在客户机器上出现了无法导出报表的问题,错误提示为: System.InvalidCastException: Unable to cast COM object of type 'Microsof ...

  2. 解决QT加载dll失败问题

    1.dll源码如下(使用vs2015编译): // 下列 ifdef 块是创建使从 DLL 导出更简单的 // 宏的标准方法.此 DLL 中的所有文件都是用命令行上定义的 SUM_EXPORTS // ...

  3. 每日一坑:加载DLL失败:找不到指定模块

    调用dll库,报错.找不到指定模块 以为是路径没对,找不到调用的这个库,打印输出了好几遍加载路径,都没发现哪里有问题,路径也没有出现乱码. 突然灵光一现: 被调用的这个库(A),依赖的其他动态库(B) ...

  4. python加载dll失败_python tensorflow导入DLL加载失败

    我安装了最新的 python 3.6.4 x64版本 然后使用pip3为cpu-only安装tensorflow C:\>pip3 install tensorflow 但是当我尝试在pytho ...

  5. python加载dll失败_Python导入错误+DLL加载失败+搜索路径

    在python2.7.10anaconda 2.3.0(64位)中,如果我写sys.path.append('C:\\Anaconda\\sms-tools-master\\software\\mod ...

  6. 64位ie加载java失败_java-无法在AMD 64位平台上加载IA 32位.dll

    java-无法在AMD 64位平台上加载IA 32位.dll 我正在尝试通过此页面上的JNI包装器使用Java中的SVMLight: static { System.loadLibrary(" ...

  7. LoadLibrary无法加载.dll解决思路

    动态载入DLL所需要的三个函数详解(LOADLIBRARY,GETPROCADDRESS,FREELIBRARY) dll, lib, h的区别 dll是动态库, 将其链接进工程, 一般用LoadLi ...

  8. android动态设置错误页面,Android中替换WebView加载网页失败时的页面

    我们用webView去请求一个网页链接的时候,如果请求网页失败或无网络的情况下,它会返回给我们这样一个页面,如下图所示: 上面这个页面就是系统自带的页面,你觉得是不是很丑?反正小编本人觉得非常丑,很难 ...

  9. 无法加载 DLL“oramts.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)

    最近在做一个小项目,语言VS2005,C#,数据库Oracle9i,但是为了兼容以前数据库SqlServer2005,以便于数据库版本的切换,事务中,仍然使用 System.Transaction.T ...

  10. 加载dll api_运行时类加载以支持不断变化的API

    加载dll api 我维护一个IntelliJ插件 ,可以改善编写Spock规范的体验. 这个项目的挑战是在单个代码库中支持多个且不兼容的IntelliJ API版本. 回想起来,该解决方案很简单(这 ...

最新文章

  1. [实战]HM-Router configuration for TP ROOM
  2. JeecgBoot Minio版本6.0.13升级到8.0.3修改方法
  3. Linux 修改SSH端口 和 禁止Root远程登陆
  4. python中如何判断输入的是否是数字_python如何判断输入是不是数字
  5. 静态密码已经OUT 探索身份验证新方式
  6. java ajax 返回乱码,解决使用$.ajax的时候得到返回乱码
  7. 一次HBase问题的解决过程(Status: INCONSISTENT)
  8. mxm智能教育机器人无法智能对话_关于智能语音机器人使用中可能出现的问题
  9. MySQL---行转列
  10. 修改PT622光猫导致的一系列故障
  11. 【解决办法】解决OneDrive登陆界面空白的方法
  12. prisma2.0和nexus搭建graphql后端(2)—nexus
  13. macos可以升级到指定版本吗_[macOS]如何升级更新 Mac 系统
  14. Laravel中使用webhook开发Telegram机器人自定义指令
  15. Java培训机构靠不靠谱?能不能学会?
  16. 用群晖筑建音乐之「家」
  17. Stand-Alone Self-Attention in Vision Models阅读笔记
  18. 《2015年中国移动游戏行业研究报告》
  19. Java 简单计算器(加法)
  20. 黑苹果MacOS Monterey 12.0 -12.3 OpenCore 0.8.0 (OC) 引导升级教程(最新版)

热门文章

  1. 这行情我还老是管不住手,少kui点就偷着笑吧
  2. Angular最佳实践之$http-麻雀虽小 五脏俱全
  3. linux下 pxe服务器,Linux 的 PXE 与 UEFI PXE 依赖服务器配置
  4. psc格式文件 的数据库导入问题
  5. Spring -> Spring中Bean是线程安全的吗
  6. 如何将720P的mp4视频转换成1080P的视频?视频分辨率如何修改?
  7. 基于ARM的嵌入式SMTP远程控制设计
  8. 上课笔记-机器学习(4)-泰坦尼克号沉没乘客存活分析
  9. android 获取alertdialog的view,Android开发实现AlertDialog中View的控件设置监听功能分析...
  10. 浅谈程序员接私单那点事及接私单需要注意的问题