vs2010 与MATLAB2015b(64位)联合处理
来源:互联网 发布:vb mac 编辑:程序博客网 时间:2024/05/20 00:50
本文转载:http://blog.csdn.net/haorenka2010/article/details/14003327
配置环境:
vs2010+matlab2015b+win10 64位
说明:
以安装路径“D:\Program Files\MATLAB\R2012b\”为例
MATLAB外部支持文件夹:
D:\Program Files\MATLAB\R2012b\extern
matlab自带的c例程:
D:\Program Files\MATLAB\R2012b\extern\examples\eng_mat
engine.h的位置:
D:\Program Files\MATLAB\R2012b\extern\include
各种lib的位置:
D:\Program Files\MATLAB\R2012b\extern\lib\win64\microsoft
在matlab帮助中输入“C language”即可找到有关MATLAB Engine的一个页面。
从这个页面开始,学习各种关键词,
就能够找到一切你需要的资料。
使用MATLAB Engine一般用两套函数就可以了。
1.engXXXX,关于Engine本身的操作,包括打开/关闭,设置/取得变量,执行语句等等。
2.mxXXXX,关于数据类型mxArray的操作,与MATLAB交互的左右类型全部为mxArray。
搭建过程:
1.先在VC6的tools->options->directories里添加相关目录
include files:
D:\Program Files\MATLAB\R2012b\extern\include
D:\Program Files\MATLAB\R2012b\extern\include\win64
library files:
D:\Program Files\MATLAB\R2012b\extern\lib\win64\microsoft
2 点击LInker input 将libmx.lib;libmex.lib;libeng.lib;加入到Additional Dependencies
或者用#pragma comment (lib, "libeng.lib")
#pragma comment (lib, "libmx.lib")
#pragma comment (lib, "libmex.lib") 语句
3 环境变量加上E:\Program Files\MATLAB\R2012b\bin\win64 否则编译成功运行时会显示缺少 dll
4包含头文件 engine.h
5这就可以去调用engine里的一些引擎函数了
做好这些后,如果我们环境一样,
下面的代码应该能够编通并且正常执行,
其中包含了常用的一些函数,
一般来说使用Engine的时候也就用这些了。
出现问题解决方法:
1 编译出现:
1>test.obj : error LNK2019: 无法解析的外部符号 _engClose,该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 _engSetVisible,该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 _mxDestroyArray,该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 _mxGetData,该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 _mxGetDimensions_730,该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 _mxGetNumberOfDimensions_730,该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 _engGetVariable,该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 _engEvalString,该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 _engPutVariable,该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 _mxGetPr,该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 _mxCreateDoubleMatrix_730,该符号在函数 _main 中被引用
1>test.obj : error LNK2019: 无法解析的外部符号 _engOpen,该符号在函数 _main 中被引用
1>D:\VSProjects\matlabtest\matlabtest\Debug\matlabtest.exe : fatal error LNK1120: 12 个无法解析的外部命令
这个问题如果你按照上述配置好的话,这就很有可能出在兼容问题上。因为2012b只提供64位版本,所有需要将vs工程变为64位。点击win32旁的下拉列表,选择配置管理器。在活动解决方案平台这里选择x64即可。重新编译一切ok。
2 如果vs工程中还包含其他库是32位的,那么只能装matlab7 ,他只支持32位。而且matlab6.x版本又不支持vs2010.装好以后,需要配置兼容性。然后点击其桌面的快捷方式,修改其兼容性,我的系统是win7,改成了兼容vista,保存修改,点击成功运行。
- vs2010 与MATLAB2015b(64位)联合处理
- 使用联合与结构实现64位整数除法
- jsp与servlet联合处理
- 位段与联合,枚举类型
- Matlab2015b安装包与安装教程
- 64位VS2010配置MongoDB
- VS2010 编译64位Qt
- OpenCV配置(64位 vs2010)
- VS2010 编译64位Qt
- windows7 64位操作系统上使vs2010和vs2013能够并存的处理方法
- windows7 64位操作系统上使vs2010和vs2013能够并存的处理方法
- Kinect2+Matlab2015b (win10-64)安装配置
- C语言(Head First C)-6_2:结构、联合与位字段:结构更新、联合、枚举和位字段
- VS2010 连接 Oracle出现尝试加载 Oracle 客户端库时引发 BadImageFormatException 32位与64位问题解决方案
- VTK5.8在64位Win7和VS2010环境下的安装与配置
- WIN7 64位 VS2010 “模块计算机类型“x64”与目标计算机类型“X86”冲突解决方案
- Windows7 64位 && VS2010 环境下CUDA 6.5安装与配置
- 64位系统在VS2010与Matlab混合编程的下的配置方法
- GD32F130FXP6学习笔记三:ARM的GPIO初识
- 【转载】opencv 常用函数
- STL中的Pair方法详解
- Spring中的AOP(七)——基于XML配置文件方式的AOP
- IntelliJ IDEA 入门常用操作
- vs2010 与MATLAB2015b(64位)联合处理
- C++单例
- 计算一个数的二进制表示中1的个数
- Java面试题之:JDK和JRE的区别?
- 调整数组顺序使奇数位于偶数前面
- docker搭建gitlab
- 54-套接字选项(SO_LINGER)
- Eclipse中java注释模板
- CSU-1779(暴力)