matlab libsvm mac,Macbook Pro(OS X Yosemite 10.10.5) + matlab2014b +libsvm

作为一个需要写代码的研究生,入手Macbook是很纠结的。还是想要体验一下Macbook,入手以后各种软件balabala的安装也是费了好大功夫还算顺利。安装libsvm的时候,发现可以参考的经验还停留在两年前。内心是崩溃的。

半参考半尝试,最终成功安装了Libsvm。

环境:OS X OS X Yosemite 10.10.5+matlab2014b +Xcode7.11+Libsvm-3.20

步骤:

安装matlab

安装Xcode+Command line tool

编译Libsvm的准备

有查到一种方法是使用patch打补丁,可是能够找到的patch真的是很老很老的,没法用。

在这里不用patch。只是在两个文件里相应的位置修改一下以适应自己安装的Xcode版本。

(1) mex -setup

这一步运行成功,可以看到的是

/Applications/MATLAB_R2013a.app/bin/mexopts.sh :

Template Options file for building MEX-files

所以,首先需要改的就是对应目录下的mexopts.sh文件。

打开mexopts.sh文件

$vi ~/.matlab/R2012b/mexopts.sh

第162~164行改成:

CC='gcc'

CXX='g++'

SDKROOT='/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX***10.11***.sdk'

MACOSX_DEPLOYMENT_TARGET='***10.11***'

加粗斜体的***10.11***部分,可以根据SDKROOT前面的目录在自己安装的Xcode里面找到,正确设置才可以。

(2) mbuild -setup

这一步运行成功,可以看到的是

/Applications/MATLAB_R2013a.app/bin/mbuildopts.sh :

Build and link with MATLAB Compiler generated library via the system ANSI C/C++ compiler

因此第二个需要修改的文件就是mbuildopts.sh

跟修改mexopts.sh相同,打开mbuildopts.sh,在相应的位置修改:

CC='gcc'

CXX='g++'

SDKROOT='/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX***10.11***.sdk'

MACOSX_DEPLOYMENT_TARGET='***10.11***'

(3)还可能出现的错误

In file included from /Applications/MATLAB_R2013a.app/extern/include/mex.h:58:

In file included from /Applications/MATLAB_R2013a.app/extern/include/matrix.h:294:

/Applications/MATLAB_R2013a.app/extern/include/tmwtypes.h:819:9: error: unknown type name 'char16_t'

typedef char16_t CHAR16_T;

把tmwtypes.h文件里面的

typedef char16_t CHAR16_T;

改成

typedef UINT16_T CHAR16_T;

然后就可以进行编译了。

4.编译Libsvm

将matlab的工作目录切换到limsvm-3.20所在的路径,在command 里面进行

make

当你看到产生了一些mexmaci64后缀的文件,说明编译成功了。

也可以在网上找一下包里自带的例子测试一下。

搞定~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值