【问题标题】:Trying to Compile a C mex file in MatLab尝试在 MatLab 中编译 C mex 文件
【发布时间】:2013-11-10 08:23:25
【问题描述】:

嘿,尝试在 MatLab 中编译一个 C 文件,但我收到了这个错误,我正在尝试理解它。非常感谢任何和所有指导。

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

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

Error using mex (line 206)
Unable to complete successfully.

【问题讨论】:

  • 您是否设置了mex 编译器?试试&gt;&gt; mex -setup
  • 嘿 Shai,感谢您的建议,奇怪的是,我认为这与 MatLab 外部编译器部分中设置的 OSX 版本有关。一旦我将最初读取 10.7 并下载 Xcode 的所有值更改为 10.8,一切都运行良好。
  • @PiersonSargent 您在哪里将 10.7 的值更改为 10.8?因为我使用的是 10.9,所以可能会出现同样的问题...
  • 我必须四处寻找它,它是一个存在于 MatLab 文件中的 mexopts(mex 选项)文件。试试看你是否无法运行搜索。

标签: macos matlab mex osx-mavericks


【解决方案1】:

为了解决这个编译here或者一般的问题,我理解是这样的

$ sed -ie 's@10.7@10.9@g' /Applications/MATLAB_R2013b.app/bin/mexopts.sh

在运行之前检查你的 Sed 风格。根据comment,您需要再次编译 Xcode。等待升级...

可能相关的问题

【讨论】:

    【解决方案2】:

    问题存在于 OSX 版本中,MatLab 认为我已经给出了新的 OSX 版本(小牛队),我选择安装更新。我最终找到了包含 mex 选项的文件,更改了 OSX 值以读取当前版本的 OSX,我下载了当前版本的 Xcode,瞧一切正常,我可以运行我的

    mex BDS_unpack_mex5.c
    

    这让我可以编译 mex 文件,使用里面的函数并度过美好的一天 =D

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-28
      • 1970-01-01
      • 2015-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多