gcc: 'cc1plus' yürütülmeye çalışılırken hata: execvp: Böyle bir dosya veya dizin yok


20

Ben bir acemi ama maceracıyım. Windows, Fedora ve Ubuntu 14.04 LTS'yi (tümü 64) üç kez önyükleme yapıyorum. Öğrenmek ancak dpkg, apt ve apt-get kullanmamak. Ubuntu (gcc yüklü olan tek) kullanarak C ++ çalışmaya başlıyor. İlk denememde bu komutu çalıştırdım gcc xy.ccve aşağıdakileri aldım:

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

Bu yüzden bilgisayarımda cc1plus ve execvp aradım. Ve ikisini de bulmadım. Sadece dizin içinde execvp.3.gz /user/share/man/man3ve cc1 içinde /user/lib/gcc/x86_64-linux-gnu/4.8.

Yani paket alıcılar ve dama hakkında bir sürü çalışma ve öğrenme, ancak kaldırmak ve yeniden yüklemek için cesaret yok.

Bazı önerileriniz var mı?

Yanıtlar:


25

Muhtemelen makinenizde g ++ paketi eksik. Bir terminal açın ve aşağıdaki komutu kullanarak kurun:

sudo apt-get install g++

G ++ kullanarak derlemek için bunu kullanın

g++ -o test.o test.cpp

g ++, C ++ kaynağını derlemek için kullanılabilir, varsayılan ubuntu yüklemesi gcc ile gelir, ancak g ++ ile birlikte gelmez.

Bir C derleyicisi kullanarak C ++ kaynağını derlemeye çalışıyorsunuz. gcc genellikle C ++ kodunu başarıyla derler, ancak varsayılan olarak c ++ 'a özgü kütüphaneleri bağlamaz ( Stack Overflow'daki bu cevaba bakınız ).

Couldn't find package ...Aşağıdaki gibi bir mesaj görüntülenirse , aşağıdaki komutları deneyin :

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

sonra

sudo apt-get install g++

6

cc1plus gcc için c ++ arka ucudur (gerçek derleyici), öncelikle c ++ 'da programlayacaksanız gerçekten g ++ yüklemek isteyeceksiniz (cc1plus ile birlikte olacak). Bir paket sistemi ön yüzünü kullanarak apt-get, synaptic, yazılım yöneticisi veya diğer bir dizi bağımlılık onunla bağımlılıkları kuracaktır.

execvp bir programlama fonksiyonudur, bulduğunuz dosya onun man (manüel) sayfasıdır. görüntülemek için bir terminal açın ve yazın man execvp. Man sayfaları çoğu zaman çevrimiçi olur ve cli ve programlama konularında bir TON bilgisi vardır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.