实际开发中遇到一个小问题,以QLibrary、LoadLibrary 方式载入动态库,调试的时候能正常调用库,但单独运行程序就不行;其实问题不大,但是不注意就搞掉你大半天时间;

以下为使用场景:

      自己封装了一个动态库名为A ,A中依赖了三方库动态库B, A库以QLibrary或者 windows 平台 的LoadLibrary方式使用,但是始终是IDE调试就能跑起来,单独运行程序就提示发现不了A dll模块 (路径是没问题的);

     这种情况很大一部份原因是因数B 动态库依赖了一些别的动态库,但这个依赖库没有复制到exe目录下面来导致的无法正常运行动态库!注意是复制到exe目录 如果A库与exe目录不同,那么B库依赖也得放到exe目录或者环境变量目录;如果 B库、B库依赖、A库放一起,但是与exe不同,即使QLibrary设置了正常的A库路径,但还是没办法调用的!!!!!!

 

vs 调试的时候可以可以看到程序载入了那些库(实在不知道缺了什么库就把B库依赖全复制到exe目录后面一个一个删除):

 

单独运行程序载入动态库失败,调试的时候载入成功(QLibrary/LoadLibrary)

 

相关文章:

  • 2021-07-25
  • 2021-08-20
  • 2021-04-03
  • 2022-12-23
  • 2022-12-23
  • 2022-02-09
  • 2022-12-23
猜你喜欢
相关资源
相似解决方案