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;'命令的主要内容,如果未能解决你的问题,请参考以下文章