网站首页 > 技术教程 正文
最近需要使用VS混编Matlab,老王我总结了一些网上混编的教程,希望大家少走一些弯路。
两个软件的混编,简单来说就是通过调用函数库。如果调用Matlab自身函数直接在VS中配置相应的环境变量就好了,但是如果自己编写的m函数,那就需要通过生成函数库。
VS2010是在MatlabR2010a发布之后发布的,所以老王建议不要使用M2010a及以前的版本。Ps.老王我懒得更换VS版本。
01 matlab编译环境的设置
mex -setup
mbuild -setup
这两个命令是为M配置编译器,记得都选择相同的VS2010编译器
mcc -W cpplib:libName -T link:lib Test.m –C
这个命令中的libName是你想要生成库文件的名称,根据自己需要定义。Test.m是自己编写的m文件,混编的函数在该m文件中定义。通过执行该命令,会生成一下文件。
libMyAdd.cpp
libMyAdd.dll
libMyAdd.h
libMyAdd.ctf
libMyAdd.lib
02 VS2010项目配置
将第一步生成的文件拷贝到当前项目工程目录下。、
项目属性->VC++目录->包含目录:
<MATLAB>/extern/include
项目属性->VC++目录->库目录:
<MATLAB>/lib/win32
<MATLAB>/extern/lib
<MATLAB>/extern/lib/win32
<MATLAB>/extern/lib/win32/microsoft
这个地方根据自己的需要添加,不了解的人可以都添加上,万一用到了,不会在使用时报错。
连接器->输入->附加以来项:
这个地方就是添加自己用到的库文件,如libName.lib,根据自己的需要添加
代码中添加头文件:
这个是在M中编译生成的libName.h
到这里基本的软件环境配置就结束了。但是在使用的时候,编译器会有错误:“char16_t”: 重定义;不同的基类型“,解决方法
在自己生成的libName.h文件中添加
#ifdef _CHAR16T
#define CHAR16_T
#endif
也可以在主函数文件中添加:
#include <yvals.h>
#if (_MSC_VER >= 1600)
#define __STDC_UTF_16__
#endif
- 上一篇: 1950~2100人口金字塔图:从正三角到倒三角
- 下一篇: FBMC系统中原型滤波器的迭代设计算法
猜你喜欢
- 2024-11-08 基于Ad hoc网络的最佳中继选择方案研究
- 2024-11-08 MATLAB数据分析,基于神经网络河南省降水量预测
- 2024-11-08 基于帧间高频能量和相关性的烟雾检测算法研究
- 2024-11-08 采用蒙特卡洛模拟分析复杂电路的可靠性,以上篇文章射随电路为例
- 2024-11-08 FBMC系统中原型滤波器的迭代设计算法
- 2024-11-08 求解非线性方程组的自适应细菌觅食算法
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)