[软件安装] libsvm for matlabR2012b on Mac OSX 10.9
来源:互联网 发布:vb语言和java 编辑:程序博客网 时间:2024/05/27 16:40
课程要用Libsvm,本来打算用Python来装,但老师给了Matlab程序,自己又懒,不想重写代码,就打算装在Matlab上。
真没想到一下午就全用来安这个东西了。
Matlab以及OSX版本
matlab用的是MatlabR2012b for mac
OSX是Mac OS X 10.9.5
各种错误的艰辛历程
libsvm里自带了Windows下面Matlab的二进制代码libsvmread.mexw64,想要在Matlab for Mac上跑,需要自己重新编译。
编译很简单,只要在libsvm/matlab下面make就好了
1
第一次按下make
>> cd matlab>> make/Applications/MATLAB_R2012b.app/bin/mex: line 305: llvm-gcc-4.2: command not found/Applications/MATLAB_R2012b.app/bin/mex: line 1326: llvm-gcc-4.2: command not found mex: compile of ' "libsvmread.c"' failed.If make.m fails, please check README about detailed instructions.
网上查到的关于这个错误的应对方法大多脱胎于Can I use Simulink Accelerator/Rapid Accelerator modes and code generation products on a Mac with Xcode 4.2 or higher?。
但这个是给OSX 10.8或之前的版本的用的,现在以及不管用了。
正确方法:
打开mexopts.sh:
$ vi ~/.matlab/R2012b/mexopts.sh
第162~164行改成:
CC='gcc'CXX='g++'SDKROOT='/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk' MACOSX_DEPLOYMENT_TARGET='10.9'
2
第二次make
>> makeConfigured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1 mex: libsvmread.c not a normal file or does not exist.If make.m fails, please check README about detailed instructions.
这次是因为缺少一个文件mex.h,它应该在/Applications/MATLAB_R2012b.app/extern/include里面有,但是也不知道是因为版本还是因为什么其他原因,我的文件夹里面没有,所以我从一个也装了Matlab的Window笔记本上把include文件夹里所有文件都复制过来。
3
第三次make
>> makeConfigured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1In file included from /Applications/MATLAB_R2012b.app/extern/include/mex.h:58:In file included from /Applications/MATLAB_R2012b.app/extern/include/matrix.h:294:/Applications/MATLAB_R2012b.app/extern/include/tmwtypes.h:819:9: error: unknown type name 'char16_t'typedef char16_t CHAR16_T;
把错误所在行的
typedef char16_t CHAR16_T;
改为
typedef UINT16_T CHAR16_T;
小众操作系统就是这么烦……
0 0
- [软件安装] libsvm for matlabR2012b on Mac OSX 10.9
- libsvm 安装配置详解 VS2012+MatlabR2012b+Win7
- qmake for simple makefile on mac osx
- Qt for Android on Mac OSX部署
- OpenCV on Mac OSX 安装详解
- Install ideviceinstaller on Mac OSX 安装:ideviceinstaller
- Setup tftp+dhcp on Mac OSX for pxe
- 在OSX狮子(Lion)上安装MYSQL(Install MySQL on Mac OSX)
- 安装 onnx_coreml on OSX
- LibLinear & LibSVM in MATLAB 编译安装 For Mac
- 在mac osX下安装openCV,used for python
- Webstorm 10 for mac osx 破解安装步骤
- Mac OSX系统下安装metasploit框架软件(MSF)
- Install plantuml on Mac OSX
- Install liblinear on Mac OSX
- Install mpv on Mac OSX
- Install ideviceinstaller on Mac OSX
- Install ideviceinstaller on Mac OSX
- Spring MVC 简介
- QT定时器基本用法
- OpenSessionInViewFilter源码分析
- Linux学习篇之---Configure script(配置脚本)
- 进入OpenCV内部源码调试
- [软件安装] libsvm for matlabR2012b on Mac OSX 10.9
- 关于CSS[几乎]没人知道的3件事
- [leetcode]Add and Search Word - Data structure design
- 《 机器学习实战》(Machine Learning in Action) 一书 中的错误之处(内容、代码)
- 关于hibernate 更新后立即查询数据,取到的是更新之前的数据的问题
- 玩命牛的成长记录(十八)——搭台
- 学会运用++和--,培养计算思维
- c++记录程序运行时间
- 二叉树的递归遍历