在MATLAB编译器的努力下,终于生成了我们需要的头文件和链接库。接下来我们就需要配置VS2012的工作环境,以便于MATLAB生成的各种文件可以再VS中调用。(我的系统和MATLAB都是64位的,如果是32位的系统,将下面绿色的文字相应改成32位系统中的内容)
创建一个VC++项目:
打开VS2012,在起始页选择“新建项目……”在弹出的对话框中,如下图选择:(其中名称和保存位置我就不多废话了,废话已经够多了,O(∩_∩)O哈哈~)
点击确定--下一步,在出现的对话框中,选择空项目,如下图所示:
配置如下:
- 第一步:项目—属性—链接器—常规—附加库目录 中添加所生成的.lib文件的路径(最好把它拷贝到新建的工程文件夹下)和MATLAB安装目录下extern\lib和MATLAB安装目录下的extern\lib\win64\microsoft。比如我的MATLAB安装路径是:D:\ProgramFiles\MATLAB\R2012b,则添加的为D:\ProgramFiles\MATLAB\R2012b\extern\lib,以此类推。
注:如果不知道MATLAB的安装路径在哪里的话,可以在MATLAB的命令框中输入:matlabroot,回车之后的输出值就是MATLAB的安装路径。
- 第二步: 项目—属性—C\C++—常规—附加包含目录 中添加MATLAB编译时所生成的.h文件所在的文件夹路径和MATLAB安装目录下extern\include。
- 第三步:项目--属性--链接器--输入--附加依赖项 中添加以下lib文件(并不一定是全加进去,有些项目可能只要其中的一两个就可以成功,依自己需要添加),添加文件时要记得用回车隔开。
mclmcrrt.lib
mclbase.lib
mclcommain.lib
MWArray.lib
libmex.lib
libmx.lib
libmat.lib
libeng.lib
- 第四步:项目—属性—C\C++—代码生成—运行库—选择”多线程DLL(\MD)”(这个设置很多参考资料中都没有,但正是这个设置解决了我之前一直不能解决的问题:不允许dllimport函数的定义;我新建的一个项目中设置了这一项之后基本什么问题都没有,轻轻松松地编译通过了)
- 第五步:这个设置也是很多资料中并未提及到的,可能是很多资料中大部分用的是32位的系统和MATLAB等,所以不需要这一步。但64位系统最好设置这一选项,要不然会出各种各样的问题。在 项目--属性 的右上角有一个“配置管理器”,点击之后在出现的对话框中有一个“平台”选项,选择新建,新建平台选择“x64”,从此处复制设置中选择原来的平台(我这里是“win32”)。点击确定。
至此,VS的配置工作就完成了。