Raspberry PiにGNU C ++開発ツールをインストールする方法(apt-getを使用)


9

C ++開発ツール用にインストールする必要のある既知のパッケージはありますか?

後にコマンドラインで何を入力しsudo apt-get installますか?

理想的には、Windowsコンピューターに "MinGW"と共にインストールされたのと同じツールが必要です。

回答:


10

ディストリビューションによって異なる場合がありますが、raspbianを使用している場合、標準のgccにはg ++が含まれています。バージョン情報は次のとおりです。

me@RPi» gcc -v
Using built-in specs.
[...]
--enable-languages=c,c++,fortran,objc,obj-c++ 

だから、apt-get install gccそれが既に存在しない場合は動作するはずです。

ほとんどのディストリビューションはC ++をサポートするgccをビルドするので、これは彼らにも当てはまるはずです。確認する簡単な方法は、gccをインストールしてから試すことg++ -vです。

ちなみに、GCCはMinGWで使用される「Gnuコンパイラコレクション」です。gccCコンパイラ、g++C ++です。

C ++コードをコンパイルするに#includesは、「libstdc ++ devパッケージ」からのstdc ++ヘッダーファイル()も必要です。利用可能なlibstdc ++の4つのわずかに異なるバージョンがあるため、raspbianで利用可能なものは複数あります。(おそらく)ディストリビューション内のすべてまたはほとんどのバイナリがビルドされるデフォルトであると思われるものは、6-4.6であるように見えます。確認する:

dpkg -l | grep ++

それが現在インストールされているものです。libstdc ++が表示されない場合は、利用可能なものから1つ選択してください(apt-cache search libstdc++)。システムは1つだけを使用する傾向がありますが、それらすべてを同時にインストールできます(/ libのメジャーバージョンに基づくシンボリックリンクが.soの1つにあります)。そう:

apt-get install libstdc++6-4.6-dev

これに(私が思うに)ベースライブラリを前提条件として含める必要があります。その場合、gccとその前提条件はすべてをカバーする必要があります。そうでない場合は、インストールしてくださいlibstdc++6-4.6。ほとんどのLinuxディストリビューションのライブラリパッケージは、ランタイムと-dev、APIを使用してコンパイルするための別のパッケージのヘッダーの2つの部分で提供されます。


5
apt-get install build-essentialでないのはなぜですか?
Steven Devijver 2013

1
承知しました; 私はそれがメタパッケージであると思いますし、私はそれらを気にしたことはありませんが、確かに便利です。基本的なC / C ++環境を取得するために、gccの前提条件を超える必要はありません。stdc ++ devヘッダー-メモを追加します。
ゴルディロックス

9

raspbianに開発ツールをインストールするには:

sudo apt-get install build-essential

実際に含まれるのはどれですかg++
ゴルディロックス

これはおそらく受け入れられる答えになるはずです。コンパイラのインストール方法を知らない人は、おそらく他の一般的な開発者ツールのインストール方法を知らないでしょう。彼らはただ実行したいpip install <package>(またはそれらのPythonパッケージマネージャーが行うことは何でも)、物事がうまく機能することを期待しています。

0

C ++に最適なアプリは、アプリのコードブロックを検索して、それが見つかるまで見下ろすと、実際にはかなり上にあります。私はこのアプリをラズベリーpiで発見する前に自分のPCで使用し、構文の強調表示とすべてを備えていました。


3
ルークこんにちは。Code :: BlocksはIDEであり、コンパイラではないことに注意してください。gcc(ネイティブのLinuxコンパイラー)およびWindowsビジュアルC ++コンパイラーと互換性があります。
ゴルディロックス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.