我的电脑上安装了Ubuntu 10.10和gcc 4.4.4。我尝试编译一些使用CUDA的mex文件,但出现以下错误消息:
>> cns_build('hmax')
compiling...
/home/leMe/hmax/cns/source/common_dec.h(54): warning: omission of exception specification is incompatible with previous function "operator new(size_t)"
/usr/include/c++/4.4/new(91): here
/home/leMe/hmax/cns/source/common_dec.h(55): warning: omission of exception specification is incompatible with previous function "operator new[](size_t)"
/usr/include/c++/4.4/new(92): here
/home/leMe/hmax/cns/source/common_dec.h(56): warning: omission of exception specification is incompatible with previous function "operator delete(void *)"
/usr/include/c++/4.4/new(93): here
/home/leMe/hmax/cns/source/common_dec.h(57): warning: omission of exception specification is incompatible with previous function "operator delete[](void *)"
/usr/include/c++/4.4/new(94): here
Segmentation fault
CUDA preprocessing [nvcc] failed
Warning: You are using gcc version "4.4.4-14ubuntu5)". The version
currently supported with MEX is "4.2.3".
For a list of currently supported compilers see:
http://www.mathworks.com/support/compilers/current_release/
CPU compilation successful
我假设通过将Matlab与gcc 4.2.3连接,我可以消除这个错误,但是我不知道如何做到这一点。
mex -setup
给我以下选项:1: /home/leMe/Matlab/bin/gccopts.sh :
Template Options file for building gcc MEX-files
2: /home/leMe/Matlab/bin/mexopts.sh :
Template Options file for building MEX-files via the system ANSI compiler
/Applications/MATLAB_R2013a_Student.app/bin/mexopts.sh
复制到~/.matlab/R2013a
,并且我需要将maci64
的CC
更改。 - Rose Perrone