Как указать mex связываться с libstdc++.so.6 в /usr/lib вместо того, который находится в каталоге MATLAB?

Теперь 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? Спасибо.

12
задан ziyuang 31 March 2012 в 21:22
поделиться