vc下编写c++调用dll提示错误
#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