Cygwin (64bit)でGLUT+glpng
2024.4.8
Springs of CのサポートページにいくつかFAQが載っていますが、最近の64ビット環境のものでは必要の無い情報も多々出てきましたので、最近の環境なら以下のようにやればできるよ、というまとめを作りました。64ビット環境に含まれる32ビット実行環境を使って、既存のGLUTとglpngのプログラムをコンパイル・実行できるようにします。
Cygwin 64bitを入れる
Springs of Cで開発環境として必要な最低限のソフトウェアをインストールします。以下はインストール方法の一例です。これ以外のソフトウェアは必要に応じてインストールしてください。
- Windowsにログインします。ユーザー名にひらがなや漢字などの全角文字が入っている場合、以下の手順を実行したときに失敗するかもしれませんのでユーザー名が半角文字だけのものが望ましいと思います。
- Cygwinをインストールする先(Cドライブ)に十分な空きがあることを確認してください。以下の手順ではインストール後にC:\Cygwin64ディレクトリは15GBほどになります。インストール中はインストール用のファイルも保存されるためさらに多くの空き領域(4~5GB程度)が追加で必要になります。
- C:\にCygwinPackageというフォルダを作成します。
- Cygwinの公式webページから64ビット版のインストーラsetup-x86_64.exeをダウンロードして、先ほど作成したC:\CygwinPackageに置きます。
- setup-x68_64.exeをダブルクリックします。管理者パスワードを聞かれたら入力します。
- インストーラが起動すると次のような画面が表示されます。[次へ]をクリックしてください。
- "Install from Internet"を選択して[次へ]をクリックします。
- インストール先フォルダの選択になります。"Root Directory"というところにC:\Cygwin64と入力します(デフォルトで入力されています)。"Install
For"で"All Users (RECOMMENDED)"を選択して[次へ]をクリックします。
- パッケージの置き場を選択します。最初に作成したC:\CygwinPackageを入力して[次へ]をクリックします。
- ダウンロードするためのインターネット接続の設定を行います。"Use System Proxy Settings"を選んで[次へ]をクリックします。
- パッケージのダウンロードサイトを指定します。どこでも内容は同じですが、日本国内からのほうが時間が短くて済みます。ここでは例としてhttp://ftp.jaist.ac.jpを選びます。[次へ]をクリックします。
- インストールするパッケージを選びます。すべてをいれておけば簡単ですが大変なディスク容量を消費します。ここでは、Springs of Cの開発環境として最低限のものをインストールしておきます。左上の"View"というところを"Category"に変更します。そのうえで、リストの一番上の"All"が"Default"になっていることを確認してください。そこから、"Archive",
"Devel", "Graphics", "Interpreters"を"Default"から"Install"にしてください。
- カテゴリ"Doc"の中にある"man-pages-posix"と"man-pages-linux"をインストールするようにします(最初は"Skip"と表示されている部分を図のように最新バージョンの表記に変更します)。
- カテゴリ"Devel"の中にある4つのパッケージをインストールしないようにします。これは、Windows版のLaTeX環境と競合してしまうためです。"gnome-common",
"gtk-doc", "mate-common", "texinfo-tex"の4つを"Skip"に変更して[次へ]をクリックします。
- パッケージの確認がでます。[次へ]をクリックします。
- ファイルのダウンロードとコピーが始まるので待ちます。30分くらいかかります。
- 次の画面になったらインストール成功です。[完了]をクリックします。
- インストールが完了したらC:\CygwinPackageを削除してください。
- ここまでできたら次へ進みましょう。
32ビットクロスコンパイラを入れる
- スタートメニューに"Cygwin64 Terminal"というアプリがあります。これを管理者権限で開きます(スタートメニューを開いてCygwin64と入力すると下の図のようにでてきますので赤で囲んだ"管理者として実行"をクリックしてください)。
- 次のように入力します($はプロンプトです)。
$ cd
$ wget http://teacher.nagano-nct.ac.jp/ito/Springs_of_C/cyg64/i686compilers.zip
$ unzip i686compilers.zip
$ cd i686compilers
$ sh ./ext.sh
$ cd ..
$ rm -rf i686compilers
$ rm i686compilers.zip
$ exit
|
- ウィンドウが閉じます。次へ進みましょう。
PATHを通す
- Windowsの[設定]を開きます。画面上部の入力欄にenvと入れると候補が出てきます。その中の"システム環境変数の編集"をクリックします。
- 次のようなウィンドウが表示されます。右下の[環境変数]をクリックします。
- 次のようなウィンドウが表示されます。下半分に「システム環境変数」という部分があります。そのなかにPATH(大文字小文字は関係なし)という表示があれば[編集]を、なければ[新規]をクリックします。
- [新規]をクリックした場合は次のウィンドウが表示されます。変数名にPATH、変数値にC:\cygwin64\bin;C:\cygwin64\usr\i686-pc-cygwin\sys-root\usr\binと入力して[OK]をクリックします。
- [編集]をクリックした場合は次のウィンドウが表示されます。[新規]をクリックしてC:\cygwin64\binとC:\cygwin64\usr\i686-pc-cygwin\sys-root\usr\binの2つを追加して[OK]をクリックします。入力した2つがなるべく上にあるほうが望ましいですが、通常は特に問題はないと思います(気になる場合は[上へ]をクリックして順番を上にできます)。
- Windowsのコマンドプロンプトを開き、i686-pc-cygwin-gccと入力して、"no input files"というエラーが表示されれば(コマンドを正しく呼び出せているということなので)OKです。次へ進みましょう。コマンドが見つからない場合はPATHに設定した文字列がすべて正しいか確認してください。
OpenGLを入れる
- スタートメニューに"Cygwin64 Terminal"というアプリがあります。さきほどと同様に、これを管理者権限で開きます。
- 次のように入力します($はプロンプトです)。
$ cd /usr/i686-pc-cygwin/sys-root/
$ wget http://teacher.nagano-nct.ac.jp/ito/Springs_of_C/opengl-1.1.0-10.tar.bz2
$ bzip2 -dv opengl-1.1.0-10.tar.bz2
$ tar xvf opengl-1.1.0-10.tar
$ rm opengl-1.1.0-10.tar
$ exit
|
- ウィンドウが閉じます。次へ進みましょう。
glpngを入れる
- スタートメニューに"Cygwin64 Terminal"というアプリがあります。さきほどと同様に、これを管理者権限で開きます。
- 次のように入力します($はプロンプトです)。
$ cd
$ wget http://teacher.nagano-nct.ac.jp/ito/Springs_of_C/glpngcygwin.zip
$ unzip glpngcygwin.zip
$ cd ./glpngcygwin/framework/
$ cp glpng.h /usr/i686-pc-cygwin/sys-root/usr/include/w32api/GL/
$ cp libglpng.a /usr/i686-pc-cygwin/sys-root/usr/lib/w32api/
$ cd ../sample/
$ i686-pc-cygwin-gcc -I/usr/include/opengl sample.c -lglpng -lglut32 -lglu32 -lopengl32
$ ./a.exe
|
- 桜の花が画面に表示されれば成功です。桜の花のウィンドウを閉じてください。
- 次のように入力します($はプロンプトです)。
$ cd
$ rm -rf glpngcygwin
$ rm glpngcygwin.zip
$ exit
|
- ウィンドウが閉じます。これで終わりです。
この先は
- 本書でgccと書かれている部分をi686-pc-cygwin-gccと置き換えればプログラムなどもそのまま使えます。
おまけ
bittest.c
コンパイルして実行すると、64ビットでコンパイルされたのか32ビットでコンパイルされたのかを表示します。