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


18

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

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

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

だから、たくさんの作業とパッケージのゲッターとチェッカーについて学びますが、削除して再インストールする勇気はありません。

提案はありますか?

回答:


24

マシンに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++

6

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.