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

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

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

无法定位程序输入点 xxxxx 于动态链接库 xxx.dll 上_第1张图片

 

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

无法定位程序输入点 xxxxx 于动态链接库 xxx.dll 上_第2张图片

 

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

4、接着用 LordPE 看一下 

无法定位程序输入点 xxxxx 于动态链接库 xxx.dll 上_第3张图片

无法定位程序输入点 xxxxx 于动态链接库 xxx.dll 上_第4张图片

 

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

 

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

 

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

无法定位程序输入点 xxxxx 于动态链接库 xxx.dll 上_第5张图片

 

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

 

 

 

你可能感兴趣的:(疑难杂症,visual,c++,无法定位程序输入点,于动态链接库)