读书人

vc上编写c++调用dll提示异常

发布时间: 2012-10-05 15:34:34 作者: rapoo

vc下编写c++调用dll提示错误

C/C++ code
#include <stdio.h>#include <windows.h>int main(){    typedef double (*AVG)(int[]);    int a[5]={1,2,3,4,5};    int i;    HINSTANCE hint=LoadLibrary("avg.dll");    if(hint!=NULL)    {      AVG avg=(AVG)GetProcAddress(hint,"avg");      if(avg!=NULL)      printf("%lf",avg(a));    }    else    {       printf("no such dll");    }    scanf("%d",&i);    return 0;}

编译可以通过,运行的时候到了AVG avg=(AVG)GetProcAddress(hint,"avg");这一句提示:无法启动此程序,因为计算机中丢失mclmcrrt7_17.dll,尝试重新安装该程序以解决此问题。需要说明的是这里的avg.dll是通过matlab编译生成的,在系统中也安装了MCRInstaller.exe,希望高手指教.

[解决办法]
说明avg.dll依赖mclmcrrt7_17.dll,而PATH中又找不到mclmcrrt7_17.dll在哪里

找到他,把它和avg.dll放在一起
[解决办法]
应该是avg.dll本身依赖mclmcrrt7_17.dll的缘故。
[解决办法]
用depends.exe查看exe或dll依赖的dll

读书人网 >C++

热点推荐