ubuntu我一开始是14的,matlab2015跑的好好的,最近点了升级,估计升级到16了,结果matlab就运行不了了,打开就显示崩溃。
据查阅,下面链接的方法可行:
http://www.linuxdiyf.com/linux/22140.html
具体方法就是:
到matlab的安装目录下的sys/os/glnxa64中,重命名libstdc++.so.6 为libstdc++.so.6.old。
cd /user/local/MATLAB/R2015/sys/os/glnxa64
mv libstdc++.so.6 libstdc++.so.6.old
Java找不到对象,主要是java路径没添加,如果确定添加对了,那么就查一下编译java代码的版本是不是和matlab一样。
matlab中,可以version -java查阅,我的是1.7什么什么的,完了就到ubuntu中看看自己的java是什么版本,比如java -version,javac -version,保证是1.7什么的,或者7什么什么的版本号。
如果不是,那就装一个:Ubuntu16.04 安装openjdk-7-jdk
sudo apt-get install openjdk-7-jre 或者sudo apt-get install openjdk-7-jdk
Ubuntu16.04的安装源已经默认没有openjdk7了,所以要自己手动添加仓库,如下:
# 1. oracle openjdk ppa source
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-7-jdk // OpenJdk 7安装:
# 2. oracle java jdk ppa source
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
JDK6 :
sudo apt-get install oracle-java6-installer
JDK 7:
sudo apt-get install oracle-java7-installer
JDK 8:
sudo apt-get install oracle-java8-installer
如果安装成功之后还是不能用可能不有多个版本,选的不对
sudo update-alternatives --config java
sudo update-alternatives --config javac
选出正确的版本
完了可以修改默认java版本,或者,也可以写个脚本,配置编译器,如下:
#!/bin/sh
echo ' Start compile all members in this directory : '
pwd
echo ' wait please .......'
JNEAT_LOCATION=./
JAVA_LOCATION=/usr/lib/jvm/java-7-openjdk-amd64
CLASSPATH=$JNEAT_LOCATION
CLASSPATH=$CLASSPATH:$JAVA_LOCATION'/jre/lib/rt.jar'
CLASSPATH=$CLASSPATH:$JAVA_LOCATION'/lib/tools.jar'
export CLASSPATH
# JAVA_TOOL_OPTIONS='-Dfile.encoding=Cp1252'
# export JAVA_TOOL_OPTIONS
echo ' Curr location of java : ' $JAVA_LOCATION
echo ' Curr classpath : ' $CLASSPATH
echo ' Compile RunAndWait....'
$JAVA_LOCATION/bin/javac RunAndWait.java