我正在尝试在Octave中编译example mex文件,并收到以下错误,我不明白,无法找到更多信息:
octave:8> mkoctfile -v --mex hello_oct.cpp
/usr/local/octave/3.8.0/bin/mkoctfile-3.8.0: line 512: 15840 Segmentation fault: 11 /usr/local/octave/3.8.0/bin/g++-mp-4.7 -c -fPIC -I/usr/local/octave/3.8.0/include/octave-3.8.0/octave/.. -I/usr/local/octave/3.8.0/include/octave-3.8.0/octave -I/usr/local/octave/3.8.0/include -pipe -Os -m64 -D_THREAD_SAFE -pthread -I. hello_oct.cpp -o hello_oct.o
/usr/local/octave/3.8.0/bin/g++-mp-4.7 -c -fPIC -I/usr/local/octave/3.8.0/include/octave-3.8.0/octave/.. -I/usr/local/octave/3.8.0/include/octave-3.8.0/octave -I/usr/local/octave/3.8.0/include -pipe -Os -m64 -D_THREAD_SAFE -pthread -I. hello_oct.cpp -o hello_oct.o
warning: mkoctfile exited with failure status
如果没有--mex
选项并且跨越不同的源文件,则会发生同样的错误。我在OS X Yosemite上运行Octave 3.8.0。我不相信我需要在Octave中安装任何软件包以创建.mex或.oct文件,但如果我这样做,请告诉我。我很感激错误背后的任何解释或者在哪里寻找解决方案的建议。
This是一个相关问题,但似乎出现在不同的背景下。
答案 0 :(得分:4)
3.8.0二进制文件存在问题。用homebrew重新安装修复了这个问题。