我最近在 VMware 上安装了 Ubuntu,并按照教程操作... gcc 对我来说很管用,但当我尝试 g++ 时,它显示“程序‘g++’当前未安装。您可以通过键入 sudo apt-get install g++ 来安装它”,但当我这样做并返回编译 c++ 文件时。它仍然显示相同的内容。
编辑
- 我尝试重新安装它,但没有成功。它没有给出任何错误消息,但它打开了一个“最新版本”的软件包列表,当我在其中搜索 g++ 时,它不存在。
- 我尝试使用命令“ ls -l /usr/bin g++ ”来找到它存在的位置,结果得到的结果是“没有这样的文件或目录”。
- 命令“ lsb_release -a ”的输出 没有可用的 LSB 模块。 分销商 ID:Ubuntu 描述:Ubuntu 14.04.3 LTS 发布:14.04 代号:trusty。
- 命令“uname -a”的输出 Linus ubuntu 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 20 15 x86_64 GNU/Linux。
- 输入“ command -v g++ ”后什么也没得到。
- 当我使用“apt-cache policy g++”时,我没有看到像其他描述那样的 g++ 的描述。
答案1
对于我来说,解决这个问题的方法是简单地卸载,然后分两步重新安装:
sudo apt-get remove g++
sudo apt-get install g++
答案2
安装 CUDA 后,我遇到了同样的问题。原来 g++ 在那里,但符号链接已损坏。您可以通过执行以下操作来检查是否属于这种情况:
ls /usr/bin | grep g++
如果存在,则可能是链接损坏,因此只需执行此操作sudo rm /usr/bin/g++
然后创建一个新的符号链接:
sudo ln -s g++-7 /usr/bin/g++
(假设 g++-7 存在,或者它的其他版本)
答案3
您已正确安装g++
,因此我们需要调查它仍无法正常工作的原因。以下是一些可尝试的操作:
- 尝试再次安装:
sudo apt-get install g++
。您应该会收到消息g++ is already the newest version
。如果没有,您会收到什么消息?您是否收到任何错误消息? 找出应该存放什么
g++
。输入ls -l /usr/bin/g++
。你应该找到一个指向实际二进制文件的 simlink:lrwxrwxrwx 1 root root 7 Apr 7 2014 /usr/bin/g++ -> g++-4.8
/usr/bin/g++
有时,如果指向某处/etc/alternatives
,但/etc/alternatives
链接指向错误的地方,这里就会出错。lsb_release -a
在这里回复。当您在这里回复时,包括诸如、uname -a
、command -v g++
和 等 命令的输出apt-cache policy g++
将非常有帮助,正如@AB 所建议的那样。事实上,如果您在这里回复,最好通过编辑上面的问题来进行回复,而不是提出新问题。
答案4
如果您已经拥有多个版本的 g++,它们将以版本号结尾。请参阅输出:
ls /usr/bin/g++*
我有:
/usr/bin/g++-5 /usr/bin/g++-7
g++
我需要打电话,而不是打电话g++-5
或g++-7