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