gcc:嘗試執行「cc1plus」時發生錯誤:execvp:沒有這樣的檔案或目錄

gcc:嘗試執行「cc1plus」時發生錯誤:execvp:沒有這樣的檔案或目錄

我是一個新手,但喜歡冒險。我正在三次啟動 Windows、Fedora 和 Ubuntu 14.04 LTS(全部 64 位元)。學習但不會使用 dpkg、apt 和 apt-get。開始使用Ubuntu(唯一安裝了gcc的Ubuntu)學習C++。因此,在我第一次嘗試編譯時,我運行了命令gcc xy.cc並得到了以下結果:

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

所以我在我的電腦上搜尋了 cc1plus 和 execvp。結果兩者都沒有找到。只需目錄中的 execvp.3.gz/user/share/man/man3和 cc1即可/user/lib/gcc/x86_64-linux-gnu/4.8

因此,進行了大量工作並學習了包裝獲取器和檢查器,但沒有勇氣刪除和重新安裝等。

您有什麼建議嗎?

答案1

您的電腦上可能缺少 g++ 軟體包。打開終端並使用以下命令安裝它:

sudo apt-get install g++

若要使用 g++ 進行編譯,請使用此

g++ -o test.o test.cpp

g++可以用來編譯C++原始碼,ubuntu預設安裝自備gcc,但不含g++。

您正在嘗試使用 C 編譯器編譯 C++ 原始程式碼。 gcc 通常會成功編譯 C++ 程式碼,但預設情況下它不會連結任何 C++ 特定程式庫(請參閱Stack Overflow 上的這個答案)。

如果顯示類似 : 的訊息Couldn't find package ...,請嘗試以下命令

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

然後

sudo apt-get install g++

答案2

cc1plus 是 gcc 的 c++ 後端(真正的編譯器),如果您主要要使用 c++ 進行編程,您確實需要安裝 g++(將帶有 cc1plus)。使用軟體包系統前端 apt-get、synaptic、軟體管理器或其他一些軟體包系統前端,它將安裝依賴項。

execvp 是一個程式設計函數,您找到的與其相符的檔案是它的手冊頁。要查看它,請打開終端機並輸入man execvp.手冊頁通常是在線的,其中包含大量有關 cli 和程式設計內容的資訊。

相關內容