Windows 95/98/2000 上でボーランド社のBorland C++ 5.x、Borland C++ Builder
(1.x 以上)、マイクロソフト社のVisual C++ ver.6、Visual C++ .NET 及び
gcc-2.95.x & gcc-3.x/MinGW32(Minimalist GNU-Win32)、Cygwinで利用できます。
このライブラリーは C++言語で書かれていますので、C++プログラムとしてコンパ
イルしなければなりません。Borland C++ や Visual C++ では拡張子を.cppとするだ
けです。GCCでは、g++を使ってコンパイルします。
ここでは以下の処理系のコマンドライン・コンパイラについて説明します。
Windows Me は Windows 95/98 の、Windows XP では Windows 2000 の解説を
参考にしてください。
[注意] GLIBW32パッケージの usage.txt の内容よりも実用的な設定方法
を述べていますが、レジストリを設定するなど「初心者」が安易に行うべ
からずのことも書かれています。自己責任で行いください。
■ Borland C++(ver 5.x)の場合
Borland C++(ver 5.x)のコマンドライン・コンパイラーは BCC32.EXE(Borland
C++ Builderにも付属しています)で、 wininit.h と glibw32.h及び glibw32.lib
を使います。
GLIBW32 がディレクトリ C:\GLIBW32 にあるとします。Borland C++が C:\BC5 に
インストールされている場合、C:\BC5\BIN にある BCC32.CFGファイルに次の2行を
追加します。
--------------------------------------------
-IC:\BC5\INCLUDE
-LC:\BC5\LIB
-IC:\GLIBW32 <---- これを追加
-LC:\GLIBW32 <---- これを追加
--------------------------------------------
これでGLIBW32 のライブラリをリンクできるようになります。
現在のディレクトリが C:\Source で、ソースファイルを test.cpp とすると、
コマンド プロンプト(MS-DOSプロンプト)から次のように入力して実行します。
C:\Source>bcc32 test.cpp glibw32.lib
|
次のようにコンパイル/リンクが行われます。
C:\Source>bcc32 test.cpp glibw32.lib
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
test.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
C:\Source> |
エラーがなければ、実行します。
■ Visual C++(ver 6)の場合
Visual C++のコマンドライン・コンパイラーは CL.EXEで、wininit.h とglibw32.h
及び glibv32.libを使います。
Windows 95/98 では、以下のように Visual C++ のコマンドライン・コンパイラを使
う環境設定をする必要があります。
まず最初に、Visual C++がインストールされている、\BINディレクトリにあるバッチ
ファイル
VCVARS32.BAT
をコマンド プロンプト(MS-DOSプロンプト)から実行します。デフォルトではPath
は通っていないのでフルパスで実行することになります。あるいはこのファイルを
適当なディレクトリにコピーして実行してください。もっとわかりやすい名前に変
えると良いでしょう。
すると、次のメッセージか表示されます。
Setting environment for using Microsoft Visual C++ tools.
|
(注)『環境変数が足りない』というエラーが表示されたら、 config.sys に、
SHELL = C:\COMMAND.COM /e:1024 /p
という行を追加して再起動します(起動ドライブが C: の場合)。
これで、コマンドラインコンパイラ CL.EXE を実行できる環境が設定されます。
次に、GLIBW32 のライブラリがリンクできるように環境設定をします。GLIBW32
がディレクトリ C:\GLIBW32 にあるとします。VCVARS32.BAT をエディタで開いて
set INCLUDE=.....
set LIB=.....
とある「set INCLUDE=」と「set LIB=」のすべての各行の最後に
;C:\GLIBW32
を追加します(改行を加えてはいけません)。コマンド プロンプト(MS-DOSプロ
ンプト)を開いて VCVARS32.BAT を実行すればGLIBW32 のライブラリをリンクでき
るように設定されます。
現在のディレクトリが C:\Source で、ソースファイルを test.cpp とすると、
コマンド プロンプト(MS-DOSプロンプト)から次のように入力して実行します。
C:\Source>cl test.cpp /link user32.lib gdi32.lib glibv32.lib
|
でコンパイル/リンクできます。
ただし、この VCVARS32.BAT は無駄があり複雑になっているので、専用のバッチ
ファイルを作成し実行した方が便利です。
Visual C++ が C:\Microsoft Visual Studio にインストールされているとして、
次のようなバッチファイル VCCW.BAT をメモ帳などで作成します。
---------------------------------------------------
@echo off
if "%MsDevDir%"=="C:\MICROS~1\COMMON\msdev98" goto msdev
set MSDevDir=C:\MICROS~1\COMMON\msdev98
set PATH=%MSDevDir%\BIN;%PATH%
:msdev
if "%MSVCDir%"=="C:\MICROS~1\VC98" goto msvc
set MSVCDir=C:\MICROS~1\VC98
set PATH=%MSVCDir%\BIN;%PATH%
:msvc
set INCLUDE=%MSVCDir%\ATL\INCLUDE;%MSVCDir%\INCLUDE;%MSVCDir%\MFC\INCLUDE;C:\GLIBW32
set LIB=%MSVCDir%\LIB;%MSVCDir%\MFC\LIB;C:\GLIBW32
CL %1 %2 %3 %4 %5 %6 %7 %8 %9 /link user32.lib gdi32.lib glibv32.lib
SET INCLUDE=
SET LIB=
---------------------------------------------------
(注意)set INCLUDE= や set LIB= などはすべて1行で書きます(途中に改行を入れて
はいけません)。
次のように、コンパイル/リンクする。
すると次のように表示されコンパイル/リンクが行われます。
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
test.cpp
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
/out:test.exe
user32.lib
gdi32.lib
glibv32.lib
test.obj
|
Windows 2000 では、インストール時にコマンドライン・コンパイラの環境設定が
できます。環境設定を確認するにはマウスで
マイコンピュータを右クリック --> プロパティ --> 詳細 --> 環境変数
と進み、変数に include, lib, MSDevDir の変数名があればデフォルトの環境設定
は済んでいます。path に Visual C++がインストールされている、\BINディレクト
リがあることを確認しましょう。
後は、GLIBW32 のパスをそれぞれ include とlib に追加します。ユーザーの環境
変数の include を選択して「編集」ボタンをクリックし、「変数値」の欄の最後に
;C:\GLIBW32
を追加します。同じく、変数の lib を選択して「編集」ボタンをクリックし、
「変数値」の欄の最後に
;C:\GLIBW32
を追加します。これで
C:\Source>cl test.cpp /link user32.lib gdi32.lib glibv32.lib
|
でコンパイル/リンクできます。リンク指定が煩わしければ、バッチファイルを作成
しましょう。
■ gcc-2.95.x/MinGW32の場合
gcc-2.95.x/MinGW32( Minimalist GNU-Win32 ) は古い版でありますが、サイズも
小さく、コンパイラーも安定していて充分使えます。
コンパイラーは g++ を使い、ヘッダファイル wininit.h と glibw32.h 及びライブ
ラリ libglibw32.a を利用します。
【gcc-2.95/MinGW32の場所】
gcc-2.95/MinGW32( Minimalist GNU-Win32 ) は以下の場所にあります。
gcc-2.95-mingw32.zip には、C/C++/F77/ObjC コンパイラ一が含まれています。
【gcc-2.95/MinGW32のインストール】
インストールは簡単です。gcc-2.95-mingw32.zipを解凍/展開して、\BINディレ
クトリのPathを通すだけです。zipファイルを解凍するときは、「長いファイル名」
が扱える解凍ソフトを利用しなければなりません。
ここでは、インストールするディレクトリ(解凍/展開先)を C:\GCC-2.95 とし
て説明します。この場合、C:\GCC-2.95 にあるバッチファイル MINGW32.BAT をコ
マンド プロンプト(MS-DOS プロンプト)から実行するだけで利用できるようにな
ります。
このバッチファイル MINGW32.BAT の中身は、
PATH=c:\gcc-2.95\bin;%PATH%
と、PATH を通すだけのものです。そこで環境変数に登録して利用するようにします。
Windows 95/98 では、C:\ にある AUTOEXEC.BAT をエディタで開き最後に
SET PATH=c:\gcc-2.95\bin;%PATH%
と1行追加します。ファイルを上書き保存し、Windows を再起動します。
Windows 2000 では、マイコンピュータを右クリック --> プロパティ--> 詳細
--> 環境変数
と進み、ユーザーの環境変数の PATH を選択して「編集」ボタンをクリックし、
「変数値」の欄の最後に
;c:\gcc-2.95\bin
を追加します。
PATH が通っていることを確かめるために、バージョン情報を表示させてみまし
ょう。
C:\> gcc -v
Reading specs from c:\gcc-2.95\bin\..\lib\gcc-lib\i386-mingw32\2.95\specs
gcc version 2.95 19990728 (release) |
等と表示されます。
【GLIBW32を使う】
GLIBW32 がディレクトリ C:\Glibw32 にあり、ソースファイルを test.cpp 、
ディレクトリが C:\Source として、コマンドプロンプト(MS-DOSプロンプト)か
ら次のように入力して実行します。
C:\Source> g++ test.cpp -Ic:\glibw32 -Lc:\glibw32 -lglibw32 -luser32 -lgdi32 |
エラーがなければ、実行します。
リンク指定が煩わしければ、次のバッチファイル GCCW.BAT をエディタで作成します。
------------------ GCCW.BAT --------------------------------
@echo off
g++ %1 %2 %3 %4 %5 %6 %7 %8 %9 -Ic:\glibw32 -Lc:\glibw32 -lglibw32 -luser32 -lgdi32
------------------------------------------------------------
2行目(g++ %1 %2 .... -lgdi32)は改行を入れずに1行で書きます。
次のようにしてコンパイル/リンクします。
また実行ファイル名を指定するときは、
C:\Source> gccw -o test.exe test.cpp
|
で、test.exe という名前の実行ファイルが作成されます。
【GCCの環境変数を利用する】
GLIBW32のディレクトリをGCCが参照する環境変数に設定しておくことも出来
ます。そうすることで、コンパイル時の -Iオプションや-Lオプションを使わず
に済ませることが出来ます。GLIBW32 がディレクトリ C:\GLIBW32 にあるとき、
次のようにします。
Windows 95/98 では、C:\ にある AUTOEXEC.BAT をエディタで開き最後に
SET CPLUS_INCLUDE_PATH=c:\glibw32
SET LIBRARY_PATH=c:\glibw32
と2行追加します。ファイルを上書き保存し、Windows を再起動します。
Windows 2000 では、マイコンピュータを右クリック --> プロパティ--> 詳細
--> 環境変数
と進み、ユーザーの環境変数の「新規」ボタンをクリックし、「変数名」と
「変数値」の欄に次を入力します。
「変数名」: CPLUS_INCLUDE_PATH
「変数値」: c:\glibw32
再び「新規」で次を入力します。
「変数名」: LIBRARY_PATH
「変数値」: c:\glibw32
以上で設定が済みました。これで次のようにコンパイル/リンクが出来ます。
C:\Source> g++ test.cpp -lglibw32 -luser32 -lgdi32 |
■ gcc-3.2/MinGW32の場合
GCCはバージョン3.xから仕様が変わり以前の2.95と互換性がありません。
その為、GLIBW32のライブラリ libglibw32-3.a を用意しました(ver 1.36)。
このバージョンは標準C/C++( ANSI C99/ANSI C++ )に積極的に準拠しよう
というのが特徴のようです。それでか、標準C/C++のプログラム スタイルに
従わないと咎める警告を発します(我がサンプル ソースも叱られている)。
オプション -Wno-deprecated で黙らせることが出来ます。
コンパイラーは g++ を使い、ヘッダファイル wininit.h と glibw32.h
及びライブラリ libglibw32-3.a を利用します。
【gcc-3.2/MinGW32の場所】
gcc-3.2/MinGW32( Minimalist GNU-Win32 ) は以下の場所にあります。
インストーラ付きの実行形式(拡張子 .exe)になっています。
【gcc-3.2/MinGW32のインストール】
ファイルを実行すればインストールできます。デフォルトでは C:\MinGW
にインストールされます。次に、\BINディレクトリのPathを通します。
Windows 95/98 では、C:\ にある AUTOEXEC.BAT をエディタで開き最後に
SET PATH=c:\mingw\bin;%PATH%
と1行追加します。ファイルを上書き保存し、Windows を再起動します。
Windows 2000 では、マイコンピュータを右クリック --> プロパティ--> 詳細
--> 環境変数
と進み、ユーザーの環境変数の PATH を選択して「編集」ボタンをクリックし、
「変数値」の欄の最後に
;c:\mingw\bin
を追加します。
PATH が通っていることを確かめるために、バージョン情報を表示させてみまし
ょう。
C:\> gcc -v
Reading specs from c:/MinGW/bin/../lib/gcc-lib/mingw32/3.2.3/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=
mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable
-languages=c++,f77,objc --disable-win32-registry --disable-shared --enable-sjlj-
exceptions
Thread model: win32
gcc version 3.2.3 (mingw special 20030504-1) |
等と表示されます。
【GLIBW32を使う】
GLIBW32 がディレクトリ C:\Glibw32 にあり、ソースファイルを test.cpp 、
ディレクトリが C:\Source として、コマンドプロンプト(MS-DOSプロンプト)か
ら次のように入力して実行します。
C:\Source> g++ test.cpp -Ic:\glibw32 -Lc:\glibw32 -lglibw32-3 -luser32 -lgdi32 |
エラーがなければ、実行します。
リンク指定が煩わしければ、次のバッチファイル GCCW.BAT をエディタで作成します。
------------------ GCCW.BAT --------------------------------
@echo off
g++ %1 %2 %3 %4 %5 %6 %7 %8 %9 -Ic:\glibw32 -Lc:\glibw32 -lglibw32-3 -luser32 -lgdi32
------------------------------------------------------------
2行目(g++ %1 %2 .... -lgdi32)は改行を入れずに1行で書きます。
次のようにしてコンパイル/リンクします。
また実行ファイル名を指定するときは、
C:\Source> gccw -o test.exe test.cpp
|
で、test.exe という名前の実行ファイルが作成されます。
GCCの環境変数を利用することで、コンパイル時の -Iオプションや-Lオプションを
使わずに済ませることが出来ます。
詳細はgcc-2.95.x/MinGW32の解説で【GCCの環境変数を利用する】をご覧ください。
■ Cygwinの場合
Cygwin はもともと Cygnus Solutions社 により開発され、その後買収されて現在
Red Hat社 のCygwinプロジェクトにより開発・提供されています。
インストールするには、セットアッププログラム
setup.exe
をあらかじめダウンロードしておきます。ネットに接続した状態で setup.exe を実行
しネット経由で必要なプログラム(パッケージ)をダウンロード/インストール /アン
インストール/アップデート等ができます。内容も膨大で300Mバイト以上のディスク領
域を使用します。フル インストールすると 1Gバイト以上になるようです。
GLIBW32が対応する最新のCygwinは、gcc-3.4.xです。ライブラリは libglibw32-3.a
になります。
バージョン情報を表示するには次のようにします。
$ gcc -v
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /gcc/gcc-3.4.4/gcc-3.4.4-1/configure --verbose --prefix=/usr --
exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --man
dir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,
java,objc --enable-nls --without-included-gettext --enable-version-specific-runt
ime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --ena
ble-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=b
oehm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchroniza
tion --enable-libstdcxx-debug : (reconfigured)
Thread model: posix
gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125) |
一番下の行にバージョン 3.4.4 と表示されています。
コンパイラーは g++.exe を使い、GLIBW32のライブラリは libglibw32-3.a です。
GLIBW32がディレクトリ C:\glibw32 にあり、ソースファイルを test.cpp とすると、
次のようにコンパイル/リンクします。
$ g++ test.cpp -I/cygdrive/c/glibw32 -L/cygdrive/c/glibw32 -lglibw32-3 -luser32 -lgdi32
|
エラーがなければ、実行します。
[注意] GCC の新版 3.x は旧版 2.95.x と互換性がありません。
旧版のGCC を使う場合は、セットアッププログラムのカテゴリー欄 Misc の
中にある次のパッケージ
gcc2 (version 2.95.3-10)
をインストールすることで利用できます。
この場合 C++ コンパイラは g++.exe ではなく g++-2.exe になります。
また GLIBW32 のライブラリは libglibw32.a になります。
命名からお察しかもしれませんが GLIBW32 は今のところ新版 3.x より
旧版2.95.x を贔屓(ひいき)にしています。g++ と g++-2 を共用している利
用者はどうか混乱しないでほしい。何れこの関係は変わると思いますが、今
のところgcc-3.x の様子見です。
GCCの環境変数を利用することで、コンパイル時の -Iオプションや-Lオプションを
使わずに済ませることが出来ます。Cygwin がインストールされているディレクトリの
\etc サブ ディレクトリにあるファイル profile をエディタで開き、最後に次の3行
を追加します。
CPLUS_INCLUDE_PATH=/cygdrive/c/glibw32
LIBRARY_PATH=/cygdrive/c/glibw32
export CPLUS_INCLUDE_PATH LIBRARY_PATH
これで Cygwin(bash)を起動し、次のようにコンパイル/リンクします。
$ g++ test.cpp -lglibw32-3 -luser32 -lgdi32
|
実行ファイル名を test.exe にする場合は次の様になります。
$ g++ -o test.exe test.cpp -lglibw32-3 -luser32 -lgdi32
|
エラーがなければ、実行します。
[注意] GLIBW32サンプル プログラムについて
GLIBW32 のサンプル プログラムの中には、Cygwin でコンパイルできな
いものがあります。これは、Windows OSに固有の標準ライブラリをCygwin
で提供されなくなったからで、例えば color05.cpp と plot12.cpp では
入出力ルーチン ライブラリ <conio.h> の関数 kbhit()を使っていますが、
Cygwin ではサポートされていません(gcc-2.95.2 あたりからか)。或いは
パッケージで提供されてるのか(知りません)。
MinGW32では、現在もライブラリは提供されているので問題ありません。
| 戻る |
Copyright(c) 1999-2006 Yamada, K