gcc:尝试执行“ cc1plus”时出错:execvp:无此类文件或目录


18

我是新手,但冒险。我正在三启动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

因此,需要进行大量的工作并了解软件包的吸气剂和检查器,但没有勇气删除并重新安装等。

你有什么建议吗?

Answers:


24

您可能在计算机上缺少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++

6

cc1plus是gcc的c ++后端(真正的编译器),如果您主要打算使用c ++进行编程,则您确实会想安装g ++(附带cc1plus)。使用一个软件包系统前端apt-get,突触,软件管理器或其他一些软件包,它将与软件包一起安装依赖项。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.