C++ 開発環境の準備

(1/1)
C++ 開発環境の準備
Windowsアプリケーションを開発するには、Microsoftの Visual Studio を使うのが王道だが、個人でちょっとしたアプリを作るには、Visual Studio 自体が巨大であることや、インストーラーやリソース管理にも留意しなければならないというハードルがある。また、.NET Framework が無いと動かないというのも、個人的には納得できない部分である。
このコーナーでは、オープンソースの GNU C++コンパイラ(G++)をはじめとするツール群をWindows向けに移植した MinGW (ミン・ジー・ダブリュー) (Minimalist GNU for Windows)、おなじくオープンソースの統合開発環境 Eclipse を日本語化した Pleiades、フリーのリソースエディタ ResEdit の3つのツールを使って、Windowsアプリケーションを開発していくことにする。C++の基本文法を理解していることが前提である。

ターゲットの動作環境は Windows 10(64ビット)とするが、OSのバージョンに依存するような機能は使わないようにする。

また、Windowsインストーラーを作成するためのフリーソフト WiX(Windows Installer XML)や、Microsoft Word形式ファイルから .chm 形式のヘルプファイルを生成する doc2htmlhelp(s7taka氏)を利用することにした。

目次

Eclipse のインストール

Eclipse のインストール
まず、統合開発環境 Eclipse の日本語版である Pleiadeshttps://mergedoc.osdn.jp/ からダウンロードする。この中に MinGW も含まれている。
いくつかのバージョンがあるが、Eclipse 2020 を選んだ。
Eclipse のインストール
すると、上図のように、さまざまな開発環境を選んでダウンロードできるようになっている。Windows 64bitのC/C++,Full Editionを選んだ。

ダウンロードしたファイルを解凍する。
インストーラ方式ではなく、解凍したフォルダを任意のフォルダに移動するだけである。ここでは、C:ドライブの直下に、C:\pleiades\ というフォルダを作成し、そこへ移動した。
統合開発環境は C:\pleiades\eclipse\eclipse.exe である。ショートカットを作っておくといいだろう。

Eclipse の準備

Eclipse の準備
これから Eclipse を使ってWindowsアプリを作っていくわけだが、リソースの文字コードはシフトJIS(MS932)の方が扱いやすいので、「メニュー→ウィンドウ→設定→一般→ワークスペース」を選択し、ダイアログの下方にある「テキスト・ファイル・エンコード」を「デフォルト(MS932)」を選んで、適用する。

Eclipseでは、個々のアプリケーションをプロジェクトという単位で管理する。1つのプロジェクトに対して1つのフォルダが割り当てられる。
複数のプロジェクトの集合をワークスペースと呼ぶが、ワークスペースを配置するフォルダは、デフォルトでは Eclipse をインストールしたフォルダの直下にある \workspace となる。他の場所をデフォルトにしたい場合は、C:\pleiades\eclipse\configuration\config.ini を開き、
osgi.instance.area.default=@user.home/workspace
に目的のディレクトリを、絶対パスで記載する。

ResEdit のインストール

リソースエディタ ResEdithttps://www.resedit.net/ からダウンロードする。64ビット版(ResEdit-x64)を選んだ、

ダウンロードしたファイルを解凍する。
インストーラ方式ではなく、解凍したフォルダを任意のフォルダに移動するだけである。ここでは、先ほど作成した C:\pleiades\ の下に \ResEdit-x64 フォルダを作成し、そこへ移動した。
リソースエディタは C:\pleiades\ResEdit-x64\ResEdit.exe である。ショートカットを作っておくといいだろう。

ResEdit の準備

ResEdit の準備
ResEdit を起動し、「メニュー→オプション→設定」を選ぶと上図のダイアログが開く。全般で言語を Japanese を選択する。
ResEdit の準備
includeする MinGW のヘッダファイルが必要となるので、先ほどのダイアログから「全般→INCLUDEパス」を選択し、
  • C:\pleiades\eclipse\mingw\include
  • C:\pleiades\eclipse\mingw\x86_64-w64-mingw32\include\
の2つを適用しておく。

doc2htmlhelp の準備

doc2htmlhelp(s7taka氏)は、https://www.vector.co.jp/soft/win95/prog/se455279.html からダウンロードできる。これ以外に、Microsoft HTML Help Workshop をインストールしておく必要がある。
ヘルプファイルの原稿は Microsoft Word で作成する。原稿ファイルができたら、"doc2htmlhelp.vbs" へドラッグ&ドロップすることでヘルプファイルを生成する。

Boost C++ライブラリ

C++標準ライブラリにない多くの機能を提供しているのがフリーのC++ソースライブラリ Boost C++ライブラリである。
Boost C++ライブラリをダウンロードしたら、解凍し、ソース、ヘッダなどを mingw\x86_64-w64-mingw32\include\ へコピーする。Boost C++ライブラリは、コンパイル時にincludeして利用する。

cURLの導入

インターネット上のコンテンツを取得するプログラムを作るとき、コンピュータから見ると、ローカルドライブへのアクセスではなく、インターネットにアクセスしてファイルを読み込むことになるため、ファイルアクセスのためのプロトコルが異なる(PHPではプロトコルの違いを意識せずに  fopen  関数を使ってアクセスできる)。
そこで今回は、HTTPを含む様々なデータ転送プロトコルに対応しているオープンソースのライブラリ cURL (カール)  を導入する。
cURLのダウンロード
公式サイトのダウンロードページから、Windowsの64bit用バイナリ・パッケージをダウンロードする。
解凍したら、"lib", "include", "bin" の3つのフォルダを "\MinGW" にコピーする。
なお、"libcurl-x64.dll" は "googlenews.exe" 実行時に動的リンクされるので、同じフォルダか、"C:\Windows\System32" に配置すること。

OpenSSLの導入

インターネット上のコンテンツがhttpsプトロコルで提供されている場合、cURL をSSL対応にするため、オープンソースのライブラリ OpenSSL を導入する。
OpenSSLのダウンロード
公式サイトのダウンロードページから、ソース・プログラムをダウンロードする。(2020年8月時点の最新版 "openssl-1.1.1g.tar.gz")
続いて、Eclipse 付属の MSYS を使ってコンパイルする。
$ tar xzf openssl-1.1.1g.tar.gz
$ cd openssl-1.0.2
$ ./Configure mingw --prefix=/mingw
$ make
$ make install_sw
コンパイルに数分かかるが、気長に待つ。
"libssl-1_1-x64.dll", "libcrypto-1_1-x64.dll" は "googlenews.exe" 実行時に動的リンクされるので、同じフォルダか、"C:\Windows\System32" に配置すること。

参考サイト

(この項おわり)
header