gcc: 尝试执行‘cc1plus’时出错:execvp:没有此文件或目录

gcc: 尝试执行‘cc1plus’时出错:execvp:没有此文件或目录

我是个新手,但喜欢冒险。我正在三重启动 Windows、Fedora 和 Ubuntu 14.04 LTS(均为 64)。正在学习但不使用 dpkg、apt 和 apt-get。开始使用 Ubuntu(唯一安装了 gcc 的版本)学习 C++。因此,在第一次尝试编译时,我运行了命令gcc xy.cc并得到了以下内容:

gcc: error trying to exec 'cc1plus' : execvp: No such file or directory

于是我在电脑里搜索 cc1plus 和 execvp。但都没找到。只有目录中的 execvp.3.gz/user/share/man/man3和 中的 cc1 /user/lib/gcc/x86_64-linux-gnu/4.8

因此,需要做大量的工作并学习有关包获取器和检查器的知识,但没有勇气删除并重新安装等。

你有什么建议吗?

答案1

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

sudo apt-get install g++

要使用 g++ 进行编译,请使用以下命令

g++ -o test.o test.cpp

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

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

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

sudo apt-get update && sudo apt-get upgrade

然后

sudo apt-get install g++

答案2

cc1plus 是 gcc 的 c++ 后端(真正的编译器),如果您主要使用 c++ 编程,那么您确实需要安装 g++(cc1plus 会随附于此)。使用软件包系统前端 apt-get、synaptic、软件管理器或其他一些软件,它将安装依赖项。

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

相关内容