c++调用动态库失败解决办法
2017-09-04 16:09
337 查看
之前写好的程序今天早上过来发现在服务器上出错了,于是就各种查问题,整整一个早上外加下午两个小时都在查这个问题,最终被我找到了问题;
在程序中我发现LoadLibrary()返回的句柄是空的,于是用GetLastError()看了一下,返回值是193,因此可以断定应该是动态库出问题了,所以就用Depends查看了一下程序中依赖的动态库,发现该动态库还缺少另外的一个动态库,导致程序在加载过程中出现了错误,现在才回想起来,之前因为新需求,在原有的动态库上添加新功能,从而调用了另外的一个库,但是在更新服务器程序的时候忘记把最后依赖的动态库更新到服务器上,因此才出现了这个问题,问题虽小,但是也算是一个教训吧,以后一定会记住的。
如果程序动态库调用失败,我个人觉得首先就行该查看一下这个库是不是依赖其他的库,在此可以借助Depends查看,如果都不缺,那么就应该查看导出函数的导出方式和主调程序的声明方式是否一致,最后就是确定调用库函数的接口参数是否有问题了。
这里是Depends下载地址:http://download.csdn.net/download/github_37567324/9966289
在程序中我发现LoadLibrary()返回的句柄是空的,于是用GetLastError()看了一下,返回值是193,因此可以断定应该是动态库出问题了,所以就用Depends查看了一下程序中依赖的动态库,发现该动态库还缺少另外的一个动态库,导致程序在加载过程中出现了错误,现在才回想起来,之前因为新需求,在原有的动态库上添加新功能,从而调用了另外的一个库,但是在更新服务器程序的时候忘记把最后依赖的动态库更新到服务器上,因此才出现了这个问题,问题虽小,但是也算是一个教训吧,以后一定会记住的。
如果程序动态库调用失败,我个人觉得首先就行该查看一下这个库是不是依赖其他的库,在此可以借助Depends查看,如果都不缺,那么就应该查看导出函数的导出方式和主调程序的声明方式是否一致,最后就是确定调用库函数的接口参数是否有问题了。
这里是Depends下载地址:http://download.csdn.net/download/github_37567324/9966289
相关文章推荐
- c++调用动态库失败解决办法
- 调用 RegLoadKey 失败,返回错误码1314的原因及解决办法
- DllRegisterServer调用失败的解决办法
- VS2015下MFC程序调用控制台失败解决办法
- SQLServer作业调用链接服务器失败解决办法
- 在pycharm中调用用caffe的python接口时,import caffe失败的解决办法
- C++动态库返回char*C#调用失败问题
- 在pycharm中调用用caffe的python接口时,import caffe失败的解决办法
- vs2015中c++中multiset容器定义对象时参数列表中显式调用greater无法被识别的解决办法
- “DllRegisterServer的调用失败”问题解决办法
- C# .net写的程序调用C++.net写的动态库,装载失败
- ajax调用第一次成功,以后均失败解决办法
- Android 调用notifyDataSetChanged方法失败解决办法
- C# .net写的程序调用C++.net写的动态库装载失败,原因一句说清
- VS2010使用C#调用C++编写的dll,在其他电脑上无法运行的解决办法
- SQLServer作业调用链接服务器失败解决办法
- Win7/Win8中注册控件失败,提示“DllRegisterServer的调用失败,错误代码为0x******** ” 问题的解决办法
- 对"对DllRegisterServer的调用失败,错误代码为0x8007005"的解决办法
- 关于java jni调用c++动态库的一些问题及解决方法
- C# 调用 C++ DLL 中的委托,引发“对XXX::Invoke类型的已垃圾回收委托进行了回调”错误的解决办法