gcc:尝试执行“cc1plus”时出错:execvp:没有这样的文件或目录

Sai*_*Don 29 package-management apt compiling gcc

我是新手,但很冒险。我正在三启动 Windows、Fedora 和 Ubuntu 14.04 LTS(全部 64 个)。学习但不使用 dpkg、apt 和 apt-get。开始使用 Ubuntu 学习 C++(唯一安装了 gcc 的)。所以在我第一次尝试编译时,我运行了命令gcc xy.cc并得到以下结果:

gcc: error trying to exec 'cc1plus' : execvp: No such file or directory
Run Code Online (Sandbox Code Playgroud)

所以我在我的电脑上搜索了 cc1plus 和 execvp。并没有找到。只是 execvp.3.gz 在目录/user/share/man/man3和 cc1 在/user/lib/gcc/x86_64-linux-gnu/4.8.

所以大量的工作和学习包的吸气剂和检查器,但没有勇气删除和重新安装等。

你有什么建议吗?

小智 40

您的机器上可能缺少 g++ 包。打开终端并使用以下命令安装它:

sudo apt-get install g++
Run Code Online (Sandbox Code Playgroud)

要使用 g++ 进行编译,请使用它

g++ -o test.o test.cpp
Run Code Online (Sandbox Code Playgroud)

g++可以用来编译C++源码,ubuntu默认安装自带gcc,但是没有g++。

您正在尝试使用 C 编译器编译 C++ 源代码。gcc 通常会成功编译 C++ 代码,但默认情况下它不会链接任何特定于 C++ 的库(请参阅Stack Overflow 上的此答案)。

如果显示类似 : 的消息Couldn't find package ...,请尝试以下命令

sudo apt-get update && sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

然后

sudo apt-get install g++
Run Code Online (Sandbox Code Playgroud)


小智 11

cc1plus 是 gcc 的 c++ 后端(真正的编译器),如果你主要打算用 c++ 编程,你真的想安装 g++(将有 cc1plus)。使用软件包系统前端 apt-get、synaptic、软件管理器或其他一些软件包,它将安装依赖项。

execvp 是一个编程函数,您找到匹配它的文件是它的手册(手册)页。要查看它,请打开一个终端并输入man execvp. 手册页经常在线,并且其中包含大量有关 cli 和编程内容的信息。