Matlab 错误:关于 'compile_mex;'命令

Posted

技术标签:

【中文标题】Matlab 错误:关于 \'compile_mex;\'命令【英文标题】:Matlab error: regarding 'compile_mex;' commandMatlab 错误:关于 'compile_mex;'命令 【发布时间】:2013-11-29 22:26:52 【问题描述】:

致各位

我正在尝试通过 Matlab 使用“mex”命令运行生成文件。然而, 当我尝试使用 'compile_mex;' 运行我的测试 .m 脚本时,我收到以下错误:

>> compile_mex
xcodebuild: error: SDK "macosx10.7" cannot be located.
xcrun: error: unable to find utility "clang++", not a developer tool or in PATH

mex: compile of ' "mex/perform_nlmeans_mex.cpp"' failed.

我已经阅读了一些可能需要编写 shell 脚本的来源 通过我需要导入的库物理添加 clang++ 实用程序 直接用matlab。有谁知道如何解决/执行这个?示例或示例外壳 脚本以及如何在内部或协调中使用该脚本的说明 如果有人能给我这个,Matlab 会很棒。谢谢!

【问题讨论】:

我仍在等待获得有关此问题的帮助。有人有这方面的经验吗? 在这里查看我的答案:Cannot run Matlab Mex files on Mac OS X Lion 10.7.5 with Xcode Version 4.3.2。 【参考方案1】:

提供了一个临时解决方法here。实际上,这相当于让 MATLAB 使用不同的 SDK(因为在 Mavericks 中删除了 10.7 SDK)。从链接:

为了清楚起见,以防其他人遇到同样的问题,我 更改了mexopts.sh 中的四行:

#            CC='xcrun  -sdk macosx10.7  clang'
        CC='xcrun  -sdk macosx10.8  clang' 

#            MW_SDK_TEMP="find `xcode-select -print-path` -name MacOSX10.7.sdk"
        MW_SDK_TEMP="find `xcode-select -print-path` -name MacOSX10.8.sdk" 

#            MACOSX_DEPLOYMENT_TARGET='10.7'
        MACOSX_DEPLOYMENT_TARGET='10.8' 

#            CXX='xcrun  -sdk macosx10.7  clang++'
        CXX='xcrun  -sdk macosx10.8  clang++'

我还必须在 matlab 内部执行“mex -setup”才能复制 mexopts.sh 到我的用户目录。

当我进行此更改时,我直接编辑 ~/.matlab/R2013a/mexopts.sh 而不是 .matlab/R2013a/mexopts.sh - 我觉得这更安全一些。它还取消了重新运行mex -setup 的要求,但这当然意味着文件可以被覆盖。

对于 10.9:

        CC='xcrun  -sdk macosx10.9  clang' 
        MW_SDK_TEMP="find `xcode-select -print-path` -name MacOSX10.9.sdk" 
        MACOSX_DEPLOYMENT_TARGET='10.9' 
        CXX='xcrun  -sdk macosx10.9  clang++'

【讨论】:

以上是关于Matlab 错误:关于 'compile_mex;'命令的主要内容,如果未能解决你的问题,请参考以下文章

matlab:matlab中不断的出现计算过程怎么办

Matlab关于稀疏矩阵的问题

关于MATLAB处理大数据坐标文件2017530

MATLAB Coder 语法错误和不支持的函数

关于MATLAB读取端口数据的问题

MATLAB错误:“向量必须是相同的长度”