45is2cw477 发表于 2016-5-18 10:20:33

Matlab及libsvm在Mac上的安装

本篇文章是讲如何在Mac电脑上安装MatLab,以及一个工具LIBSVM.
 
一、环境:
1. OS X 10.9.2
 
2. MatLab 2013a
下载地址(种子文件)
http://ifunapple.com/2013/10/matlab/
 
3. LIBSVM V 3.17
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
 
4. Xcode 5.1
 
二、安装
1. MatLab 2013a 安装方法,请参见上述种子文件里的Readme.
我安装的时候选择的"无Internet安装",最后导入Lisence文件。
 
2. Xcode 5.1安装方法
可以通过升级Xcode,或者在AppStore里下载安装。
 
3. LIBSVM 安装方法
这是花了最多时间的地方。
 
首先,安装Xcode command line工具。
我在找到一个网站,可以直接下载command line tools,然后直接安装的。
 
然后,编译LIBSVM。
 
a. 打开MatLab
 
b. 在MatLab命令框输入:

mex -setup
 
选择mex编译器

/Applications/MATLAB_R2013a.app/bin/mexopts.sh :
Template Options file for building MEX-files

 
c. 在MatLab命令框输入:

mbuild -setup
 

/Applications/MATLAB_R2013a.app/bin/mbuildopts.sh :
Build and link with MATLAB Compiler generated library via the system ANSI C/C++ compiler

 
d. 进行LIBSVM/matlab路径,在MatLab命令框输入:
 

make
 
当你看到产生了一些mexmaci64后缀的文件,说明编译成功了。
 
三、常见问题:
1. 编译LIBSVM的问题。
如果在make的时候出现下面提示(见参考文章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 char16_t CHAR16_T;
 
2. 编译LIBSVM的问题。
如果你用的是低版本的Xcode或者MatLab,就需要看一下MatLab的帮助帖子(见参考文章4)。
 
3. MatLab中文乱码问题(见参考文章5)。
修改/Applications/MATLAB_R2013a.app/bin/lcdata.xml文件,找到

<locale name="en_US_POSIX"
 将后面的改为:
<locale name="en_US_POSIX" encoding="GB18030" xpg_name="GB18030">
在MabLab命令框,输入:

feature('locale')
 输出以下内容即成功了。

ans =
ctype: 'en_US_POSIX.GB18030'
collate: 'en_US_POSIX.GB18030'
time: 'en_US_POSIX.GB18030'
numeric: 'en_US_POSIX.GB18030'
monetary: 'en_US_POSIX.GB18030'
messages: 'en_US.GB18030'
encoding: 'GB18030'
 
四、参考文章:
1. matlab xcode 与 libsvm 的设置方法
http://bbs.weiphone.com/read-htm-tid-5787323.html
 
2. Xcode Command Line Tools for Mac OS X 10.9 Mavericks
http://railsapps.github.io/xcode-command-line-tools.html
 
3. Matlab MEX compile error
http://stackoverflow.com/questions/22367516/matlab-mex-compile-error
 
4. Can I use Xcode 4.2 to 4.6 as my C or C++ compiler in MATLAB? (Updated: 2013/02/04)
http://www.mathworks.com/matlabcentral/answers/94092
 
5. MATLAB for Mac使编辑器支持中文
  http://my.oschina.net/u/1051634/blog/208025
页: [1]
查看完整版本: Matlab及libsvm在Mac上的安装