今天编译一个程序,发现Debug版本完全正常编译运行,但是一到Release就出现问题:

1、无法定位程序输入点 xxxx 于动态链接库 xxx.dll 上:

无法定位程序输入点 xxxxx 于动态链接库 xxx.dll 上

 

2、我再去检查下xxx.dll ,乍一看好像没什么问题,仔细一看,好像有点不对劲了:

无法定位程序输入点 xxxxx 于动态链接库 xxx.dll 上

 

3、看到有个红色的感叹号,提示 module has missing imports ???这是什么鬼? 看看右上方的导入信息, ass_xxx 的函数都是 libass.dll 的导出函数,也就是当前程序的导入表项 avutil-55.dll 不正常

4、接着用 LordPE 看一下 

无法定位程序输入点 xxxxx 于动态链接库 xxx.dll 上

无法定位程序输入点 xxxxx 于动态链接库 xxx.dll 上

 

发现里面的值都是有问题的,Release 版本调试,转到反汇编,跟进call,发现jmp到一个随便的地址,模块里 avutil-55.dll 也根本没有加载。。。无解

 

5、我以为库坏了,新建工程,各种折腾,,无解,虚拟机重装vs再编译还是无解,但是我后来意外发现我的另外的一个程序也是用的这个库,那个编译的Reasele版本就没有任何问题,这就让人很头大,看来是VS配置问题了,没办法,两个工程一点点对比。

 

6、最终终于找到了罪魁祸首:

无法定位程序输入点 xxxxx 于动态链接库 xxx.dll 上

 

把这个引用设置成:否! 终于,一切都正常了,花了我整整一天的时间,,真是让人头大~!

 

 

 

相关文章:

  • 2021-04-16
  • 2021-11-02
  • 2022-01-25
  • 2022-02-26
  • 2022-02-01
  • 2022-01-10
  • 2022-01-27
猜你喜欢
  • 2022-01-11
  • 2022-01-22
  • 2021-12-07
  • 2022-12-23
  • 2022-01-25
  • 2021-09-24
  • 2022-12-23
相关资源
相似解决方案