Bry*_*n P 5 matlab xcode mex xcode4.3
我开始在我的Mac上运行从C代码(使用XCode 4.3)编译的MATLAB(R2012a)的MEX文件(运行OSX 10.7.3,Lion).我已经安装了MATLAB提供的XCode补丁,该补丁配置MATLAB以在XCode 4.2+下使用新的llvm-gcc编译器,但是我仍然在尝试使用以下命令编译示例文件时出现以下错误mex timestwo.c:
/Applications/MATLAB_R2012a.app/extern/include/matrix.h:852:20: error: stdlib.h: No such file or directory
In file included from timestwo.c:1:
/Applications/MATLAB_R2012a.app/extern/include/mex.h:161:19: error: stdio.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
编译然后打破
mex: compile of ' "timestwo.c"' failed.
Error using mex (line 206)
Unable to complete successfully.
Run Code Online (Sandbox Code Playgroud)
显然,编译器找不到标准库头文件目录,但是需要更改才能成功编译?
Bry*_*n P 11
啊,找到了!
MATLAB提供的模板使用/ Developer/...作为SDK位置,但是在XCode4.3下更改为在XCode.app下生效.为了解决问题,我必须编辑我的~/.matlab/R2012a/mexopts.sh文件以将SDKROOT目录设置为新位置.
为此,请在mexopts.sh文件中搜索SDKROOT并将其更改为:
SDKROOT='/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/'
Run Code Online (Sandbox Code Playgroud)
注意,我选择了我在Lion上的10.7 sdk b/c.如果你在Snow Leopard上,请使用10.6
我正在运行Mac Mountain Lion和Matlab R2012b,以下解决方案适合我:Matlab 2012a Mex与Mountain Lion上的Xcode 4.5一起使用
确切地说,我遇到了以下错误:
error: stdio.h: No such file or directory
error: stdlib.h: No such file or directory
error: math.h: No such file or directory
那么我做了什么来解决这个问题:
我使用命令行工具安装了Xcode,然后通过以下方式编辑了文件"/Applications/MATLAB_R2012b.app/bin/mexopts.sh":
将CC从gcc-4.2更改为llvm-gcc-4.2
将CXX从gcc-4.2更改为llvm-g ++ - 4.2
将SDKROOT设置为'/'
然后我在MATLAB中运行"mex -setup",选择数字1,然后选择y来覆盖旧的/Users/insertyournamehere/.matlab/R2012b/mexopts.sh
这解决了:)
| 归档时间: |
|
| 查看次数: |
8483 次 |
| 最近记录: |