解决在matlab中输入mex -setup出现错误等问题

折腾了好久,终于解决了我自己的问题,豁然开朗同时想写下来,同大家分享

话不多说,这就开始:
问题出现的开始,是我将Libsvm工具包添加到Matlab中的tools文件中后,为了使用SVM进行数据分类,运行到svmtrain函数时出现的问题,matlab会报错:
Invalid MEX
‘F:…\toolbox\mex\mexw64\svmtrain.mexw64’
即:找不到指定的程序

可是明明下载了工具包libsvm_3.22, 且内部matlab文件中也有svmtrain.c 自己的电脑里也下载有Microsoft Visual C++ 2005 、Microsoft Visual C++ 2012、Microsoft Visual C++ 2008、Microsoft Visual C++ 201364、Microsoft Visual C++ 201386等等(不要问我为什么装了这么多 因为我也不知道为什么) 出现这个问题,还是说明我的matlab并没有找到它能识别的编译器,于是 我又装了 Microsoft Visual Studio 2010.
(此刻心疼一下我的电脑)

这下,当输入mex -setup 后可以运行了,出现:
要选择不同的语言,请从以下选项中选择一种命令:

mex -setup C++
mex -setup FORTRAN

选择:C++

会出现告警:
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
http://www.mathworks.com/help/ma … se-64-bit-api.html.

这个告警可以忽略。走到这一步,可以说明,编译器和matlab已经成功接轨,

解决了编译器,现在就需要想办法,将那个Libsvm工具包里的svmtrain.c 编译成64位的.mex文件,才能达成最终目标,(此处做了各种尝试,下载了各种软件,辛酸史忽略),在各方尝试下,终于下载对了:MinGW
官网地址:http://www.mingw.org/
下载地址:http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/
(我选择的是第二个下载地址,没有选择官网地址下载是因为,全英文看不懂)

注意:
下载后只是个安装器,需要在线下载 真正的安装内容
注意:
下载后只是个安装器,需要在线下载 真正的安装内容
注意:
下载后只是个安装器,需要在线下载 真正的安装内容

重要的事说三遍,因为这个上,我还吃了亏,(>.<)
安装包是纯英文的,一通瞎猜胡点操作,竟然下好了,后来发现百度经验里有详细的安装步骤链接:
http://jingyan.baidu.com/album/455a99509c76d8a1662778f6.html?picindex=5
(哎 又吃了不仔细阅读文章的亏。。。)

安装结束完了,还没有结束呢,需要进行配置环境变量,不要被他的名字吓到,不难,按照步骤来就可以,不尝试怎么进步呢?

关于MinGW的安装和配置,百度经验贴写的很详细,点击进去看就行,我就不罗里吧嗦说明了(主要还是懒,懒得截图懒得写)

现在保证的条件是:Libsvm3.22工具包已经添加好路径,安装并测试好MinGW,matlab中输入mex -setup提示的是告警(就是那个提示你要更新 API,即编译器已接轨matlab),

在matlab的编译环境下,按照路径找到并打开在Libsvm3.22工具包中的make.m, 运行它 运行它 运行它~

激动时刻到了 svmtrain.c、svmpredict.c以及里面的其他matlab不认识的.c文件都被编译成了matlab mex文件,(说真,没见过世面的我,当时激动地都快哭了)

问题解决了。

第一次写,废话比较多,多多包容,转载要和我说哦~

部分借鉴了这位博主:乔qiao 的内容,很不错也很感谢,解决了我的问题,你看能不能解决你的~
PS:我的matlab版本是2014a

转载链接的作者: 乔qiao
转载链接:https://blog.csdn.net/m0_37102093/article/details/72832339

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值