VB调用VC的dll异常~异常代码48~dll加载不成功~呜呜求大神指导

VB调用VC的dll错误~~错误代码48~dll加载不成功~呜呜求大神指导~
用vc做了一个dll,给vb调用,一开始在我电脑上是好的,转到做VB的那人电脑上调用就不行了,始终报错48.

1,首先可以肯定,dll的地址设置正确
2,我用查看dll的插件depends打开了dll,里面相关的dll都是正常显示,没有缺失任何的dll.

vc的代码大体如下:

#include "StdAfx.h"
#include "test.h"
#include "cv.h"
#include "highgui.h"
#include "SiftGxyView.h"
#define M_SIFT_YUZHI 1

int nCount = 0; //nCount 统计数据库中样本图片的数量
char *buf=NULL;  
CString taibiao_result="";//
CDatabase DBCON;
CString DSN = "ODBC;DSN=TVLogo";// ODBC中添加数据源的名称
CRecordset m_rSet;
CString m_strsql;
extern "C" CPoint EXPORT _stdcall CStingToPoint(CString strTemp)  
{
。。。。
}

extern "C" int EXPORT _stdcall SIFT(IplImage* pic1 = NULL,IplImage* pic2 = NULL) {
。。。
。。。
}


extern "C" BSTR EXPORT _stdcall CheckPhoto(char *path_taibiao1=NULL)  

{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
   
nCount=0;
CString path_taibiao=path_taibiao1;//
if (path_taibiao=="")  

。。。。
。。。

m_rSet.Close();
DBCON.Close();
buf = (LPSTR)(LPCTSTR)taibiao_result;
return (BSTR)buf;
return NULL;
}

VB大致过程
Private Declare Function MoveFile Lib "kernel32" Alias "MoveFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String) As Long
Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal DirPath As String) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function CheckPhoto Lib "F:\潘达包\广电台标项目\程序\郭长安\Client1-联调-带图_12_5\test.dll" (ByVal filepath As String) As String


。。。。
。。。。
  Case 21
          DecodeImage (F)
          R = CheckPhoto(F)
          DoEvents
          CreateNode values_node, "ChannelName", R
          Label3.Caption = "频道信息:" & R
          Label3.Refresh
。。。。
。。。。
在 R = CheckPhoto(F)就报了48错,CheckPhoto是VC函数的接口。


------解决方案--------------------
dll可能引用了别的dll,而你楼上的缺少了
------解决方案--------------------
opencv dll 的版本问题吧?你楼下用的是不是debug版,楼上用的是你release的版本,但是 opencv 的是debug版本的?确认一下楼上用的 opencv dll 和你的版本一样,另外,确认一下是不是64位的问题?
------解决方案--------------------
“去掉相关的opencv函数就可以正常运行”

这个更能说明是在加载 opencv 库的时候出现的问题了的,check 一下楼上和楼下的运行环境究竟有什么区别吧
------解决方案--------------------
"楼上实验室新的台式机上我装了VC测试,也是可以的"
说明全新的环境与你楼下的环境是一致的,是OK的

"唯独他电脑和笔记本会报这个错"
说明他的环境存在差异,这个可能与他的个性化使用习惯有关,如杀毒软件,各种个性化工具,各种监控工具,各种开发库版本,驱动,或者安装了360,等等等等,这个实在难以通过文字来排查哎。。。

另外,不知你的程序在安全模式下能跑否?在你的环境里安全模式能跑的话,就在他机器上进安全模式跑跑看,如果可以,那就更说明他自己的应用开发环境存在差异了

good luck
------解决方案--------------------
另外,他的PC和本子安装的OS是什么,32位 64位的?你的环境里的呢?
还有就是,他的环境里,opencv 库有几个版本?有几份?
如果确定加载路径无问题的话,把 opencv 库做个Md5Sum 和你的环境里的比一下子
我现在就是在乱猜了,信息实在有点儿不足哎,抱歉
------解决方案--------------------
这个问题我遇见过,还是你的dll有问题,重新编写dll文件,加上入口函数或者你把你生成的.exp文件考过去就可以了,不然就会出现在你电脑里能运行,别人电脑部行
------解决方案--------------------
实在不行,就在有问题  电脑上安装一下vb环境,打开dll工程测试一下.看是什么问题.
之后重新编译一下打包,再部署到其它有问题的电脑上测试