Теперь mex в MATLAB 2012a официально поддерживает только gcc 4.4.6, но я хочу использую gcc 4.7 на свой страх и риск. Теперь, если я скомпилирую что-то с помощью mex напрямую, он будет жаловаться, что
/usr/lib/gcc/i686-linux-gnu/4.7/cc1plus:
/usr/local/MATLAB/R2012a/sys/os/glnx86/libstdc++.so.6:
version `GLIBCXX_3.4.15' not found
(required by /usr/lib/i386-linux-gnu/libppl_c.so.4)
/usr/lib/gcc/i686-linux-gnu/4.7/cc1plus:
/usr/local/MATLAB/R2012a/sys/os/glnx86/libstdc++.so.6:
version `GLIBCXX_3.4.15' not found
(required by /usr/lib/i386-linux-gnu/libppl.so.9)
By strings /usr/lib/i386-linux-gnu/libstdc++.so.6 | grep 'GLIBCXX'
Я подтверждаю, что эта libstdc++.so.6
имеет эту строку версии. Я просмотрел mexopts.sh
и изменил переменные $RPATH
и $MLIBS
в этом скрипте, но это не работает. Итак, если я не использую символическую ссылку, где я могу настроить путь libstdc++.so.6
, который использует mex? Спасибо.