「Windows上でC/C++をコンパイルしなければならない」
このような場合、あなたならどうしますか?
Ubuntuで 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++)は、問題なく動いていますね。