C/C++開発環境を整える


タイトルで「開発環境を整える」とか大々的に言ってますが、C/C++コンパイラとboostをインストールするだけの簡単なお仕事です。

「boostってなんやねん?」って方は、ざっくり以下のイメージで思ってもらえれば問題ないです。
・オープンソースのC++便利ライブラリ
・ほぼ標準になってるから大体どこの現場でも使えて超便利 
・商用/非商用のどっちでも無料で使えて超便利
・比較的OSに依存しにくいのでポータブルなコードを求められる時にも使えて超便利
・ドキュメント・ネット記事が豊富で超便利

boostで具体的にどんなことができるか→https://www.mathkuro.com/?p=250

まあboostの押し売りはこのくらいにして本文いきます。


目次

  1. CentOSの場合(CentOS7)
  2. Ubuntuの場合(Ubuntu 18.04.3 LTS)
  3. macの場合(Catalina)
  4. windowの場合(windows10)


1.CentOSの場合(CentOS7)

C++をコンパイルするために必要なC++版のgcc(or clang等)をインストールします。
C++版のgccはgcc-c++です。

それと、C++の超絶便利ライブラリboostをインストールします。
両方ともDVDのパッケージに入っているので新しいレポジトリ等を追加する必要はありません。

$ sudo yum install -y gcc-c++ boost boost-devel

たったこれだけでC/C++の開発環境が整います。windowsと比べると遥かにイージーです。

CMake(ビルド自動化ソフト)もC/C++を使用していたらお世話になる機会が多いですよね。
もし必要な場合は、以前まとめた記事があるのでそちらを参照してください。
https://www.mathkuro.com/?p=815#1-1

※バージョンはgccが4.8.5boostが1.53とかなり古めです。もし最新版が使用したい場合はこちらの記事を参考に。→https://www.mathkuro.com/?p=230


2.Ubuntuの場合(Ubuntu 18.04.3 LTS)

UbuntuもCentOS同様コマンドひとつでC/C++開発環境を構築できます。

# apt-get install -y g++ libboost-all-dev

※バージョンはgccが7.4.0boostが1.65でほんの少し古めです。
※rootでやっているのはsudoユーザ作っていなかっただけです。普通にsudoでも大丈夫なはずです。


3.macの場合(Catalina)

Homebrewのインストール

今回はHomebrewというパッケージ管理ツールを使用します。
Homebrewが未インストールの場合は以下の通りインストールしてください。
(/usr/localにインストールするためsudoは不要です)

xcodeのコマンドラインツールのインストール
(xcode本体を入れても良いが容量が大きめなので注意)
$ xcode-select --install

Homebrewのインストール
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

正常にインストールできたかの確認
$ brew doctor


boostのインストール

macの場合はC/C++コンパイラはデフォルトでインストールされているので、boostのみインストールします。
$ brew install boost

はい、完了です。
brew導入済みであればcentよりもさらにイージーですね。

バージョンは1.71.0で最新です、素晴らしい。

ちなみにコンパイラの方は、$ gccって実行しても、$ clangって実行してもx86_64-apple-darwin19.0.0が実行されます。
(gccがclangのエイリアスに設定されているっぽい)


CMakeのインストール

cmakeのインストールもbrewコマンド一発です。brew強い。
$ brew install cmake


4.windowsの場合(windows10)

それでは最後に真打登場、windowsでのC/C++開発環境です。

ただ、windowsの場合はベストな方法が存在しないと言いますか、いろいろな方法があってそれぞれ一長一短といった感じなので、ここではそれぞれの紹介に留めておきます。

方法メリットデメリット
docker for windows・好きな環境をすぐに構築できる
・動作が比較的軽い
・Windows10 Proが必要
・dockerの知識がいるので導入のハードルがやや高め
Virtual Box・好きな環境をすぐに構築できる・動作が重い。
Windows Subsystem for Linux・Windowsからlinuxを利用する公式の機能
※(まだ試したことないです)
※(まだ試したことないです)
msys2・比較的簡単にUnixシェル環境を導入することができる・Linuxの機能はやや限定的
MinGW・軽量。
・ちょこっとC/C++試すのであればこれがベスト
・拡張性等考えると、msys2を導入の方が良いかも。
Visual Studio・Microsoft社謹製
・Windows向けのC/C++アプリ作るならこれがベスト
・動作が重い。
・使い方が難しい。使うまでのハードルがWindows上に別OS環境作るよりも高いと言う謎。
  • Windows向けアプリを作成したい。
    →Visual Studio
    • Visual Studioは使えない(使いたくない)。
      →msys2 or MinGW
  • とりあえずC/C++環境が欲しい。
    →msys2 or MinGW
  • 割とガッツリC/C++やるつもりだけどWindowsで動かなくてもいい。
    →docker for windows
    • Windows10 Proじゃないんですが。
      →Virtual Box

個人的にはdocker推しです。dockerにCentなりUbuntuなりを導入してC/C++環境を構築するのが好きです。
https://www.mathkuro.com/?p=164

終わりに

今回は、C/C++の開発環境構築についてまとめました。
プロセス間通信とかスレッドをboost使ってスマートに書きたい今日この頃。
LinuxとWindowsでどこまで共通にできるのかとか色々試してみたいです。

Leave a Reply

Your email address will not be published. Required fields are marked *