C/C++(gcc/g++)のコンパイル環境を3分で構築する方法

C/C++(gcc/g++)のコンパイル環境を3分で構築する方法 効率化

「Windows上でC/C++をコンパイルしなければならない」
このような場合、あなたならどうしますか?

Visual Studio Code(VSCode)とMinGWの組み合わせが、真っ先に候補に挙がるでしょう。
今後もずっとC/C++をコンパイルするなら、この組み合わせがベストです。

しかし、一時的かつ緊急的にC/C++のコンパイラが必要だとしたら、どうでしょうか?
なるべくなら、ソフトはインストールしたくありませんよね。

それにGUIでのインストールは、意外と手間です。
あと、パスの設定も面倒ですね。

そういった問題をすべて解決する方法があります。
その方法とは、Cygwinを使うことです。

Cygwinのインストールを除けば、コンパイル環境の構築に3分もかかりません
それにコピペで簡単に済みます

本記事の内容

  • CygwinにGCCをインストールすれば解決
  • パッケージ管理用ツール「apt-cyg」のインストール
  • Cygwinでgccのインストール
  • Cygwinでg++のインストール

それでは、上記に沿って解説していきます。

CygwinにGCCをインストールすれば解決

CygwinにGCCをインストールすれば、問題はすべて解決します。
今回は、CコンパイラとC++コンパイラがインストールの対象です。

インストールと言っても、Cygwin上でパッケージとしてインストールするだけです。
Cygwinをアンインストールすれば、すべてキレイに消え去ります。

また、Cygwinなら、他にもいろいろと試すことが可能です。
例えば、Cygwin上でSCPをインストールすれば、ファイル転送も実行可能となります。
つまり、C/C++のコンパイラとして以外にも使えるのです。

それでは、Cygwin上でC/C++をコンパイルできるようにしていきます。
Cygwinをインストールしていない場合は、次の記事をご覧ください。

次は、C/C++のコンパイラをインストールするための準備をしましょう。
ソースからコンパイルしてインストールする形は、なるべくなら避けたいところです。

依存関係がメチャクチャになり、後悔することになりがちです。
そこで、apt-cygをインストールします。

パッケージ管理用ツール「apt-cyg」のインストール

Debian/Ubuntuなら、apt。
CentOSなら、yum。

今では、aptやyumを当たり前のように利用しています。
ひと昔前なら、ソースをコンパイルしてというのが当たり前でした。

Cygwinにおいても、パッケージ管理用の仕組みを利用します。
Cygwinにおけるパッケージ管理用ツールは、apt-cygを使います。

ただ、デフォルトではインストールされていません。
そのため、apt-cygを使えるように設定していきます。

Cygwinを起動させておきます。
まずは、apt-cygをダウンロードします。

$ wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg

ダウンロードしたファイル「apt-cyg」に実行権限を付与します。
そして、そのファイルを「/usr/local/bin/」へ移動させます。

$ chmod 755 apt-cyg
$ mv apt-cyg /usr/local/bin/

では、コマンドの確認です。
バージョンを表示してみます。

$ apt-cyg --version
apt-cyg version 1
The MIT License (MIT)
Copyright (c) 2005-9 Stephen Jungels

問題なく、apt-cygコマンドが動いていますね。
これにて、パッケージ管理用ツール「apt-cyg」のインストールは完了です。

次は、apt-cygを使ってコンパイラをインストールします。
その前に、リポジトリの登録を行っておきましょう。

$ apt-cyg -m ftp://ftp.jaist.ac.jp/pub/cygwin/ update
$ apt-cyg update

Cygwinでgccインストール

C言語の開発環境を構築します。

Cコンパイラ(gcc)のインストール

$ apt-cyg install gcc-core

実行すると、次の表示で終わります。

Package gcc-core installed

gccのバージョンを確認しておきます。

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
~
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.0 (GCC)

Cコンパイラ(gcc)の動作確認

以下のプログラムを記述したhello.cファイルを作成します。

#include <stdio.h>
int main() {
    printf("Hello World");
    return 0;
}

以下のコマンドでコンパイルします。

$ gcc -o hello hello.c

正常に完了すると、同じディレクトリ上に「hello.exe」ファイルが作成されています。
プログラムを実行するのは、以下のコマンド。

$ ./hello
Hello World

Cコンパイラ(gcc)は、問題なく動いていますね。

Cygwinでg++のインストール

C++の開発環境を構築します。

C++の開発環境を構築します。

$ apt-cyg install gcc-g++

実行すると、次の表示で終わります。

Package gcc-g++ installed

g++のバージョンを確認しておきます。

$ g++ -v
Using built-in specs.
COLLECT_GCC=g++
~
Supported LTO compression algorithms: zlib zstd
gcc version 10.2.0 (GCC)

C++コンパイラ(g++)の動作確認

以下のプログラムを記述したhello.cppファイルを作成します。

#include <iostream>
using namespace std;
int main() {
    cout << "Hello world." << endl;
    return 0;
}

以下のコマンドでコンパイルします。

$ g++ -o hellopp hello.cpp

正常に完了すると、同じディレクトリ上に「hellopp.exe」ファイルが作成されています。
プログラムを実行するのは、以下のコマンド。

$ ./hellopp
Hello world.

C++コンパイラ(g++)は、問題なく動いていますね。

タイトルとURLをコピーしました