gcc: erro ao tentar executar 'cc1plus': execvp: Esse arquivo ou diretório não existe

gcc: erro ao tentar executar 'cc1plus': execvp: Esse arquivo ou diretório não existe

Sou um novato, mas aventureiro. Estou inicializando três vezes o Windows, o Fedora e o Ubuntu 14.04 LTS (todos os 64). Aprendendo, mas não usando dpkg, apt e apt-get. Começando a estudar C++ usando Ubuntu (único com gcc instalado). Então, na minha primeira tentativa de compilação, executei o comando gcc xy.cce obtive o seguinte:

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

Então procurei em meu computador por cc1plus e execvp. E não encontrei nenhum dos dois. Apenas execvp.3.gz no diretório /user/share/man/man3e cc1 no arquivo /user/lib/gcc/x86_64-linux-gnu/4.8.

Então, muito trabalho e aprendizado sobre getters e verificadores de pacotes, mas sem coragem para remover e reinstalar etc.

Você tem algumas sugestões?

Responder1

Possivelmente está faltando o pacote g++ em sua máquina. Abra um terminal e instale-o usando o comando abaixo:

sudo apt-get install g++

Para compilar usando g++ use isto

g++ -o test.o test.cpp

g++ pode ser usado para compilar o código-fonte C++, a instalação padrão do ubuntu vem com gcc, mas não com g++.

Você está tentando compilar o código-fonte C++ usando um compilador C. O gcc geralmente compila com sucesso o código C++, mas por padrão ele não vincula nenhuma biblioteca específica do c++ (consulteesta resposta no Stack Overflow).

Se uma mensagem for exibida como: Couldn't find package ..., tente os seguintes comandos

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

então

sudo apt-get install g++

Responder2

cc1plus é o backend c++ (compilador real) para gcc, se você pretende programar principalmente em c++ você realmente desejará instalar o g++ (terá cc1plus com ele). Usando um dos front-ends do sistema de pacotes apt-get, synaptic, gerenciador de software ou vários outros, ele instalará as dependências com ele.

execvp é uma função de programação, o arquivo que você encontrou correspondente é a página man (manual) dela. para visualizá-lo abra um terminal e digite man execvp. As páginas de manual geralmente estão on-line e contêm uma tonelada de informações sobre cli e programação.

informação relacionada