web-dev-qa-db-ja.com

gcc: 'cc1plus'を実行しようとしてエラーが発生しました:execvp:そのようなファイルまたはディレクトリはありません

私は初心者ですが、冒険好きです。 Windows、Fedora、Ubuntu 14.04 LTS(すべて64)をトライブートしています。 dpkg、apt、およびapt-getを使用しないで学習します。 Ubuntu(gccがインストールされている唯一のもの)を使用してC++の学習を開始します。そのため、最初にコンパイルを試みたときに、コマンドgcc xy.ccを実行すると、次の結果が得られました。

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

そこで、コンピューターでcc1plusとexecvpを検索しました。そしてどちらも見つかりませんでした。ディレクトリ/user/share/man/man3のexecvp.3.gzと/user/lib/gcc/x86_64-linux-gnu/4.8のc​​c1だけです。

したがって、パッケージゲッターとチェッカーについては多くの作業と学習がありますが、削除や再インストールなどの勇気はありません。

何か提案はありますか?

8
SailorDon

マシンにg ++パッケージがない可能性があります。ターミナルを開き、以下のコマンドを使用してインストールします。

Sudo apt-get install g++

G ++を使用してコンパイルするには、これを使用します

g++ -o test.o test.cpp

g ++はC++ソースのコンパイルに使用できます。デフォルトのubuntuインストールにはgccが付属していますが、g ++には付属していません。

Cコンパイラを使用してC++ソースをコンパイルしようとしています。通常、gccはC++コードを正常にコンパイルしますが、デフォルトでは、c ++固有のライブラリをリンクしません( スタックオーバーフローに関するこの回答 を参照)。

次のようなメッセージが表示される場合:Couldn't find package ...、次のコマンドを試してください

Sudo apt-get update && Sudo apt-get upgrade

それから

Sudo apt-get install g++
12
Aritra

cc1plusはgccのc ++バックエンド(実際のコンパイラ)です。主にc ++でプログラミングする場合は、g ++をインストールする必要があります(cc1plusがインストールされます)。パッケージシステムのフロントエンド、apt-get、synaptic、ソフトウェアマネージャー、または他の多くのパッケージを使用して、依存関係をインストールします。

execvpはプログラミング関数であり、それに一致するファイルは、そのマニュアル(マニュアル)ページです。表示するには、ターミナルを開いてman execvpと入力します。マニュアルページはしばしばオンラインであり、cliやプログラミングに関する情報が大量にあります。

3
cargo