• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

【MATLAB】matlabR2010a与vs2010联合编译设置

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在matlab中编译C++程序,首先要配置编译器
>> mex -setup
Please choose your compiler for building external interface (MEX) files: 

Would you like mex to locate installed compilers [y]/n? y

Select a compiler: 
[1] Lcc-win32 C 2.4.1 in D:\MATLAB\R2010a\sys\lcc 
[2] Microsoft Visual C++ 2010 in D:\Microsoft Visual Studio 10.0 

[0] None
选择2

若没有2的选项,解决方案如下:
网上下载VS2010support文件包【VS2010MEXSupport.rar】
解压,放入相应matlab安装目录中。(例如:D:\MATLAB\R2010a\win32\mexopts)

再次运行上述代码后就会显示[2]了。

另外还有一个常见问题:
VS2010中的yvals.h与Matlab的matrix.h同时包含对char16_t的定义,当同时包含这两个头文件,
会导致重复定义char16_t的错误:
D:\Microsoft Visual Studio 10.0\VC\INCLUDE\yvals.h
(576) : error C2371: 'char16_t' : redefinition; 
different basic types
D:\Matlab\r2010a\extern\include\matrix.h(330) : see 
declaration of 'char16_t'

最简解决方案:在包含matrix.h之前包含yvals.h
例如:

#include <yvals.h>
#if (_MSC_VER >= 1600)
#define __STDC_UTF_16__
#endif

……
#include "mex.h"


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap