之前是用matlab2010a+vs2010编程,但是总是错误频发。出现如下问题:
1)mex -setup 指令后,找不到C++编译器
2)mbuild -setup ,找不到c++编译器
3)mcc -W cpplib:myfoo -T link:lib foo 指令后,一直出现如下:
D:\PROGRA~1\MATLAB\R2010A\BIN\MEX.PL: Error: The current options file is not configured to create DLLs. You can use
mbuild -setup to set up an options file which is configured to create DLLs.
Error: An error occurred while shelling out to mbuild (error code = 255).
Unable to build executable (specify the -v option for more information).
??? Error using ==> mcc
Error executing mcc, return status = 1 (0x1).
尝试过好多种方法,依旧没有解决第三种问题,最后在MATLAB官网看到2010a版支持VS2010上有些问题,于是便决定升级版本。换成了matlab R2014a,完成了混编。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
matlab R2014a+VS2010编程步骤如:
1,matlab的配置
1)新建一个matlab的.m文件 add.m
2)在commond窗口输入:
a) mex -setup
选择vs2010
b)mbuild -setup
选择VS2010
c) mcc -W cpplib:myadd -T link:lib add
生成如下文件:
此时matlab的配置已经结束。
2 配置VS2010
1)新建一个win32的控制台应用程序(空项目)
2)打开工程属性
c/c++ ------>常规------->附加包含目录 填入"D:\Program Files\MATLAB\R2014a\extern\include";
链接器 -->常规 -->附加库目录 "D:\Program Files\MATLAB\R2014a\extern\lib\win64\microsoft";
"D:\Project\CPlusPlus\MatlabAdd\MatlabAdd\Debug"
链接器 -->输入 -->附加依赖项 mclmcrrt.lib;mclmcr.lib;myadd.lib
3)将myadd.lib和myadd.h文件夹拷入工程中,myadd.lib文件放入debug文件夹,myadd.h文件加载到工程的头文件
myadd.dll文件考入到system32文件夹下
4)在工程的.cpp文件中输入代码:
#include "add.h"
#include
using namespace std;
int main()
{
if(addInitialize()) //初始化,这一步是必须的
{
cout<<"success!!!"<
运行成功!!!!!!!!