G++编译错误,找不到"cc1plus"。

我想我不小心从我的机器上删除了一些文件,现在G++无法编译。 我尝试使用apt-get remove然后apt-get install来看是否可以修复,但是没有成功。现在我完全不知道如何让G++再次工作。
这是错误信息:
g++: error trying to exec 'cc1plus': execvp: No such file or directory

有什么想法吗?
我正在使用Ubuntu 12.04 Precise ARM版本。
2个回答

你需要运行 sudo apt-get install --reinstall g++-4.6。仅重新安装 g++ 包是不起作用的,因为它只是依赖于版本化的包的元包。

在Ubuntu中,g++软件包是一个“依赖包”,它会为您的操作系统版本安装默认版本的g++(例如12.04的g++-4.6),因此重新安装g++软件包可能不会重新安装您删除的文件 - 您可能需要重新安装底层的g++-N.m软件包。
您可以通过执行apt-cache depends g++或者使用ls -l $(which g++)命令来查找实际的默认软件包。另外,您还可以使用readlink命令自动跟踪链接,例如:
sudo apt-get install --reinstall $(readlink $(which g++))