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.cc
e 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/man3
e 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.