【问题标题】:MATLAB can't see my C compiler to mex svmlibMATLAB 看不到我的 C 编译器到 mex svmlib
【发布时间】:2014-06-04 19:03:20
【问题描述】:

我有 64 位 Mac、OS X 10.8.5,并安装了 xcode。我还可以从命令行验证 gcc 是否有效。当我输入 mex -setup 我得到

The options files available for mex are:

  1: /Applications/MATLAB_R2013a.app/bin/mexopts.sh : 
      Template Options file for building MEX-files


  0: Exit with no changes

这无济于事。当我输入 make 时,所有相关的 libsvm 文件都在我选择的文件夹中,我得到

make
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 ' "libsvmread.c"' failed.

如果 make.m 失败,请查看 README 中的详细说明。

有人能帮我解决这个问题吗?

【问题讨论】:

    标签: matlab compiler-construction mex


    【解决方案1】:

    最快的方法是使用您喜欢的文本编辑器直接编辑 mexopts.sh 文件(您可能需要使用“管理员权限”来执行此操作)。文件:

    /Applications/MATLAB_R2013a.app/bin/mexopts.sh
    

    定义了一堆路径和标志,用于在您的系统上调用 C/C++ 编译器。它往往跟不上对 MacOS 的修订。

    在我的系统上,我必须进行以下更改:

    第 258-260 行

             CC='gcc'
             SDKROOT='/Developer/SDKs/MacOSX10.6.sdk'
             MACOSX_DEPLOYMENT_TARGET='10.6'
    

    第 273 行

             CXX=g++
    

    文件中会有很多对“CC=”的引用;你正在寻找那些遵循这条线的人

             maci64)
    

    但您系统的正确值取决于您拥有的 gcc/g++ 以及它们的安装位置。如您所见,我在 /Develop 下安装了 MacOS 10.6 Developer 工具。您将需要安装开发工具 (XCode) - 请参阅 How to use/install gcc on Mac OS X 10.8 / Xcode 4.4

    在 XCode 工具的更新版本中,路径可能更像:

    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
    

    但是使用更新版本的 XCode 编译 MEX 代码可能会导致其他问题 - 我遇到了 char16_t 问题,请参阅: MEX compile error: unknown type name 'char16_t'

    【讨论】:

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