“error LNK2019: 无法解析的外部符号 _mclInitializeApplication_” --matlab R2012a(64bit) + VS2012混编 (Win7 64bit)

来源:互联网 发布:amd游戏优化 编辑:程序博客网 时间:2024/06/06 18:54

在论坛帖子中找到原因,该错误主要是因为使用了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