Мне пришлось понизить GCC до версии 4.7, потому что у меня была такая проблема при компиляции matConvnet
Warning: You are using gcc version '5.4.0'. The version of gcc is not supported. The version currently supported with MEX is '4.7.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release.
Итак, я сделал следующие шаги, чтобы сделать GCC 4.7.0 компилятором по умолчанию для моей машины:
sudo apt-get install gcc-4.7
sudo rm /usr/bin/gcc
ln -s /usr/bin/gcc-4.7 /usr/bin/gcc
Однако, когда я пытаюсь скомпилировать Matconvnet снова, у меня была следующая ошибка:
Error using vl_compilenn>mex_compile (line 434)
No supported compiler or SDK was found. For options, visit http://www.mathworks.com/support/compilers/R2016a/glnxa64.html.
Error in vl_compilenn (line 387)
parfor i = 1:numel(horzcat(lib_src, mex_src))
Что я пропустил в моей процедуре?
РЕДАКТИРОВАТЬ: Я понял, что проблема с компилятором g ++
когда я делаю команду mex -setup C ++ в MATLAB, у меня появляется эта ошибка:
Error using mex
No supported compiler or SDK was found. For options, visit http://www.mathworks.com/support/compilers/R2016a/glnxa64.html.
Когда я выполняю команду which g ++, она мне ничего не возвращает. Когда я apt-get устанавливаю g ++, мне возвращается следующее:
g++ is already the newest version (4:5.3.1-1ubuntu1).
Что я могу сделать, чтобы MATLAB распознал мой компилятор g ++?
Вероятно, это слишком поздно для ответа, но когда у меня возникла похожая проблема, мне показалось следующее:
sudo apt-get install --reinstall gcc
sudo apt-get install --reinstall g++
Надеюсь, это поможет всем, кто сталкивается с этим.
Других решений пока нет …