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后缀的文件,说明编译成功了。

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

搞定~~

相关资源:翠雨方工作备忘录工具v2.31中文绿色-其它代码类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年2月20日
下一篇 2021年2月20日

相关推荐