在Mac上安装libsvm(OSX 10.9.2)

时间:2014-11-17 12:39:07

标签: matlab libsvm

我尝试使用

安装libsvm软件包
mex -setup

(因为“make”导致错误)。接下来是编译器的一个选择,所以我选择了“1”。 之后我输入“make”但得到了以下错误:

xcrun: error: SDK "macosx10.7" cannot be located
clang: warning: no such sysroot directory: '-mmacosx-version-min=10.7'
libsvmread.c:1:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
         ^
1 error generated.

    mex: compile of ' "libsvmread.c"' failed.

If make.m fails, please check README about detailed instructions.

我该怎么办?

1 个答案:

答案 0 :(得分:1)

我认为来自matlab支持的以下答案可能会有所帮助(http://www.mathworks.com/matlabcentral/answers/103904-can-i-use-xcode-5-as-my-c-or-c-compiler-in-matlab-8-1-r2013a-or-matlab-8-2-r2013b):

  

Xcode 4.1到4.6中提供的Mac OS X 10.7 SDK可供使用   MEX和相关功能。 Xcode中不再提供此SDK   5,编译时导致类似于以下的错误:

     

xcodebuild:错误:SDK&#34; macosx10.7&#34;无法找到。

     

xcrun:错误:无法找到实用程序&#34; clang&#34;,而不是开发人员工具或   在PATH

     

最简单的解决方案是避免将Xcode更新为版本5(如果您)   正在使用R2013a或R2013b。如果您需要Xcode 5,或者您已经拥有   不可逆转地升级到它,您可以更新MEX以使用10.8 SDK:

     
      
  1. 在MATLAB命令窗口中,执行以下命令:
  2.         

    CD(matlabroot)

         

    cd bin

         

    编辑mexopts.sh

         
        
    1. 保存此文件的备份副本,以防您出错并需要还原更改。

    2.   
    3. 从第120行开始,向下滚动到此文件的Mac(“maci64”)部分。

    4.   
    5. 用10.8替换10.7的所有实例;总共有四个(第五个可能仅在评论中找到)

    6.   
    7. 保存文件,然后在MATLAB命令窗口中执行以下命令:

    8.         

      mex -setup

           

      请注意,此解决方法将MEX文件与其他SDK链接   而不是测试MATLAB。虽然没有人知道   兼容性问题,支持可能有限。