今天碰到一个奇怪的问题,一个第三方的库,提供了A.dll和A.lib,编译的时候可以通过,运行的时候一直报错,说找不到A.dll。

我就在main函数那里设了断点,发现没有进main 函数的时候就已经报错了,应该是在入口函数的时候就error了。找不到load dll(load library)的函数,不明白为什么报错。

后来才知道,lib里面其实包含的东西非常少,用txt打开看,发现只有几个第三方的函数名,以及一串数字

func A.dll A.dll/        1470723205              0       67      

所以,其实lib里面包含的是dll里对应函数的位置,并没有具体的实现,而运行的时候则需要先将dll load进来,一找发现不在,当然就报错了。

这个是别人给的sample code里面的实现,并不是我们的实现。我们的实现是只包了dll这一个,lib没有要,然后直接在源代码里面用loadlibrary的方式,把dll load进来,所以没有dll的话,我们编译的时候并不会有问题,而运行的时候就会有问题了。 

相关文章:

  • 2021-09-21
  • 2021-09-29
  • 2021-09-21
  • 2022-02-25
  • 2022-12-23
  • 2021-10-10
  • 2021-09-21
  • 2021-11-29
猜你喜欢
  • 2022-01-29
  • 2022-03-07
  • 2021-08-05
  • 2022-12-23
  • 2021-09-21
  • 2021-05-25
  • 2021-10-04
相关资源
相似解决方案