我尝试使用
安装libsvm软件包mex -setup
(因为“make”导致错误)。接下来是编译器的一个选择,所以我选择了“1”。 之后我输入“make”但得到了以下错误:
xcrun: error: SDK "macosx10.7" cannot be located
clang: warning: no such sysroot directory: '-mmacosx-version-min=10.7'
libsvmread.c:1:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
^
1 error generated.
mex: compile of ' "libsvmread.c"' failed.
If make.m fails, please check README about detailed instructions.
我该怎么办?
答案 0 :(得分:1)
我认为来自matlab支持的以下答案可能会有所帮助(http://www.mathworks.com/matlabcentral/answers/103904-can-i-use-xcode-5-as-my-c-or-c-compiler-in-matlab-8-1-r2013a-or-matlab-8-2-r2013b):
Xcode 4.1到4.6中提供的Mac OS X 10.7 SDK可供使用 MEX和相关功能。 Xcode中不再提供此SDK 5,编译时导致类似于以下的错误:
xcodebuild:错误:SDK&#34; macosx10.7&#34;无法找到。
xcrun:错误:无法找到实用程序&#34; clang&#34;,而不是开发人员工具或 在PATH
最简单的解决方案是避免将Xcode更新为版本5(如果您) 正在使用R2013a或R2013b。如果您需要Xcode 5,或者您已经拥有 不可逆转地升级到它,您可以更新MEX以使用10.8 SDK:
- 在MATLAB命令窗口中,执行以下命令:
醇>CD(matlabroot)
cd bin
编辑mexopts.sh
保存此文件的备份副本,以防您出错并需要还原更改。
从第120行开始,向下滚动到此文件的Mac(“maci64”)部分。
用10.8替换10.7的所有实例;总共有四个(第五个可能仅在评论中找到)
- 醇>
保存文件,然后在MATLAB命令窗口中执行以下命令:
mex -setup
请注意,此解决方法将MEX文件与其他SDK链接 而不是测试MATLAB。虽然没有人知道 兼容性问题,支持可能有限。