在论坛帖子中找到原因,该错误主要是因为使用了64位的库,而平台还是Win32导致,更改为X64解决。
一下是大致混编的大致步骤:
matlab预备:mbuild -setup
mex -setup根据选择安装。
1,编写m文件add.m(以加法为例写m文件),在matlab下执行: “mcc -C -W cpplib:libadd -T link:lib add.m”
2,将生成的libadd.ctf、libadd.dll、libadd.h、libadd.lib拷贝到VS工程目录下。
3,添加包含目录:C:\Program Files\MATLAB\R2012a\extern\include
4,添加库目录:C:\Program Files\MATLAB\R2012a\extern\lib\win64\microsoft (64位库,因此注意编译时使用X64平台)
5,添加附加依赖项:
mclmcrrt.lib
libmx.lib
libmat.lib
libmex.lib
libeng.lib
mclmcr.lib
libadd.lib(更据mcc的文件结果而定)
6,加入头文件:#include "libadd.h"
------------------------------------------------------------------------------------------
此外:在其他帖子中看到的
可能还需要的头文件:
#include "mclmcrrt.h"
#include "mclcppclass.h"
可能需要添加的环境变量:C:\Program Files\MATLAB\R2012a\bin\win64