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


18

Eu sou um novato, mas aventureiro. Estou iniciando 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 o Ubuntu (o único com o 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 no meu computador cc1plus e execvp. E não encontrou nenhum. Apenas execvp.3.gz no diretório /user/share/man/man3e cc1 no /user/lib/gcc/x86_64-linux-gnu/4.8.

Portanto, um monte de trabalho e aprendizado sobre os getters e verificadores de pacotes, mas sem coragem de remover e reinstalar etc.

Você tem algumas sugestões?

Respostas:


24

Você possivelmente está perdendo 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 este

g++ -o test.o test.cpp

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

Você está tentando compilar a fonte C ++ usando um compilador C. O gcc geralmente compila com êxito o código C ++, mas por padrão não vincula nenhuma biblioteca específica do c ++ (consulte esta 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++

6

O cc1plus é o back-end do c ++ (compilador real) para o gcc, se você estiver programando principalmente no c ++, realmente desejará instalar o g ++ (terá o 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 nele.

execvp é uma função de programação, o arquivo que você encontrou correspondente é a página man (manual) para ele. para vê-lo, abra um terminal e digite man execvp. As páginas de manual costumam estar on-line e têm MUITAS informações sobre cli e programação.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.