【问题标题】:installing libsvm on Mac (OSX 10.9.2)在 Mac (OSX 10.9.2) 上安装 libsvm
【发布时间】:2015-01-14 09:05:30
【问题描述】:

我尝试安装 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.

我能做什么?

【问题讨论】:

  • 检查你的头文件搜索路径。
  • 您使用的是哪个版本的 MATLAB 以及哪个 OS X?
  • matlab 2013b,操作系统见标题:10.9.2

标签: matlab libsvm


【解决方案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 和相关功能。此 SDK 在 Xcode 中不再可用 5、导致编译时出现类似如下错误:

xcodebuild:错误:找不到 SDK“macosx10.7”。

xcrun:错误:无法找到实用程序“clang”,不是开发人员工具或 在路径中

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

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

cd(matlabroot)

光盘盒

编辑 mexopts.sh

  1. 将此文件的备份副本保存在某处,以防万一出现错误并需要恢复更改。

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

  3. 将 10.7 的所有实例替换为 10.8;总共有四个(仅在 cmets 中可以找到五分之一)

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

mex 设置

请注意,此解决方法将 MEX 文件链接到不同的 SDK 比测试 MATLAB 的要好。虽然没有人知道 兼容性问题,支持可能会受到限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 2013-11-29
    • 2014-04-02
    相关资源
    最近更新 更多