Mac中matlab和c++混合编程

环境:mac+matlab2016b破解版

在matlab中svm工具包运行出现问题:

(1)未定义函数或变量 'qp'  

 Undefined function ormethod 'qp'

这里出错是因为

qp是二次划函数,用于求解SVM中的拉格朗日乘子,是采用的c++和matlab编程,所以需要mex一下,这里有一个mex在不同windowsOS编译果,所以我需要重新编译一下qp.dll
方法:svm的包下面有一个optimiser 文件,把currentDiretoryoptimiser,例如D:\ProgramFiles\MATLAB\R2007a\toolbox\svm\Optimiser,然后运行命令
>> mex -v qp.c pr_loqo.c
命令运行完后,你会发现原先的qp.dll变为qp.dll.oldqp.mexmaci64,我文件改qp.dll 复制到工具箱文件下。原先的工具箱文件qp.dll可以先改一下名字.... 

2)如果此解决了最好,如果解决不了,报错:错误使用mex 未找到支持的编译器或 SDK

明你的电脑里没有c++编译环境,mac电脑需要安装xcode,如果在app store安装是最新版的,可能与你低版本的matlab不兼容,所以安装xcode7.0版本的最好,些版本在北人bt上都可以找到,或者通我的网

https://pan.baidu.com/s/10Q583-s_ooEeuATaNfm8pg

安装之后就可以找到了

弄好之后,重启matlab,输入命令

mex -setup 

如果不报错成功了。

(3)如果之前安装过较高版本的xcode,卸之后,mex –setup示之前的版本号,不兼容,所以里需要更一下xcode的版本

参考https://www.jianshu.com/p/8c8933eebdf3

应该就可以利的运行啦。。。。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值