gcc Hello World on Ubuntu Touch: 'cc1plus': execvp: нет такого файла или каталога

0

Я хотел скомпилировать printf("Hello World!\r\n"); на моем Nexus и установить sudo apt-get install gcc , но если я скомпилирую с помощью

gcc -x c++ helloworld.cpp -lstdc++ -o helloworld

Я получаю сообщение об ошибке

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

Он когда-то запускался, но после переустановки ubuntu он показывает только отсутствие ошибки cc1plus и, поскольку я не специалист (просто хотел запустить что-то вроде system("service ssh stop"); или около того) Я хочу спросить, что я могу, чтобы восстановить gcc.

    
задан ccontroller 15.10.2016 в 12:08
источник

2 ответа

2

Ошибка

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

возникает, потому что, используя суффикс -x c++ и .cpp filename, вы сообщаете gcc обрабатывать файл исходного кода как C ++, а не обычный C, и не имеете установленного компилятора g++ .

Так как printf("Hello World!\r\n"); не использует синтаксические элементы C ++, самым простым решением является компиляция как простой C - либо путем переименования вашего файла, либо без указания директивы -x :

gcc helloworld.c -o helloworld

или (если вы хотите сохранить суффикс .cpp ), используя -x , чтобы сообщить gcc рассматривать его как C независимо

gcc -x c helloworld.cpp -o helloworld

Обратите внимание, что в любом случае вам нужно будет удалить директиву -lstdc++ , поскольку стандартная библиотека C ++ не будет доступна (или требуется).

    
ответ дан steeldriver 15.10.2016 в 13:00
0

установить build-essential

c++ helloworld.cpp -o helloworld

вы можете

sudo rm -r / var / cache / *

    
ответ дан Alex Neudatchin 16.10.2016 в 06:08