【问题标题】: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 会很棒。谢谢!

【问题讨论】:

标签: matlab shell ssh compilation mex


【解决方案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++'

【讨论】:

    猜你喜欢
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多