2024/01/31(水) [n年前の日記]
#3 [prog] MinGW 5.1.4のインストールを試みた
smpeg 0.4.4 を Windows10 x64 22H2 + MinGW (gcc 6.3.0)上でビルドできない。古いバージョンの MinGW ならビルドできるのか気になってきたので、あえて MinGW 5.1.4 + msys 1.0.11 をインストールしてみた。
◎ ファイルを入手 :
以下のファイルを入手。
_MinGW - Minimalist GNU for Windows - Browse /OldFiles/MinGW 5.1.4 at SourceForge.net
_MinGW - Minimalist GNU for Windows - Browse /OldFiles at SourceForge.net
MinGW-5.1.4.exe MSYS-1.0.11-2004.04.30-1.exe
_MinGW - Minimalist GNU for Windows - Browse /OldFiles/MinGW 5.1.4 at SourceForge.net
_MinGW - Minimalist GNU for Windows - Browse /OldFiles at SourceForge.net
◎ インストール :
今回は、D:/MinGW514/ というフォルダを作成して、その中に、MinGW/ と msys/ というフォルダを作成。そこに、MinGW 5.1.4 と msys 1.0.11 をインストールしてみた。
MinGW-5.1.4.exe を実行すると、ウイザード形式で色々尋ねてきて、そのうちインストールフォルダも尋ねてくる。D:\MinGW514\MinGW\ を指定してインストールした。最後に、ネットから必要なパッケージを自動でダウンロードして、自動で解凍してインストールしてくれた。
MSYS-1.0.11-2004.04.30-1.exe を実行すると、これもウイザード形式で色々尋ねてくる。インストール場所と、MinGW のインストール場所も尋ねてきた。
MinGW-5.1.4.exe を実行すると、ウイザード形式で色々尋ねてきて、そのうちインストールフォルダも尋ねてくる。D:\MinGW514\MinGW\ を指定してインストールした。最後に、ネットから必要なパッケージを自動でダウンロードして、自動で解凍してインストールしてくれた。
MSYS-1.0.11-2004.04.30-1.exe を実行すると、これもウイザード形式で色々尋ねてくる。インストール場所と、MinGW のインストール場所も尋ねてきた。
◎ 初期設定 :
インストール後、msys/1.0/etc/ 内で、fstab.sample を fstab にリネームコピー。fstab を編集して、/mingw の場所を指定し直し。
#Win32_Path Mount_Point D:/MinGW514/MinGW /mingw D:/Perls/strawberry/5.32.1.1-x64/perl /perl #c:/ActiveState/perl /perl
◎ msys.batを実行 :
msys.bat を実行すると、rxvt が開く。
余談。MSYS-1.0.11-2004.04.30-1.exe に入っている、rxvt の初期サイズやフォントサイズは、msys.bat の最後のほうで、コマンドラインオプションを指定する形で設定されているけれど。「-fn Terminal-18」と言った感じでフォント種類を変更しようとしても、各文字の間に妙な空白が入った状態で表示されてしまう。どうやら、 デフォルト設定の -fn Courier-18 というフォント種類しか受け付けないようだなと…。MSYS 1.10.10 版ならそういうことにはならないそうだけど、探しても見つからなかった。
_MinGW及びMSYS - Hirotake Itoh's memo by PukiWiki
余談。MSYS-1.0.11-2004.04.30-1.exe に入っている、rxvt の初期サイズやフォントサイズは、msys.bat の最後のほうで、コマンドラインオプションを指定する形で設定されているけれど。「-fn Terminal-18」と言った感じでフォント種類を変更しようとしても、各文字の間に妙な空白が入った状態で表示されてしまう。どうやら、 デフォルト設定の -fn Courier-18 というフォント種類しか受け付けないようだなと…。MSYS 1.10.10 版ならそういうことにはならないそうだけど、探しても見つからなかった。
_MinGW及びMSYS - Hirotake Itoh's memo by PukiWiki
◎ SDLのビルド :
SDL-1.2.15.tar.gz をビルドしてみようとしたけれど…。
処理が進まない。Cコンパイラは実行形式を作れない、と言ってきた。
すんなりビルドできるのであれば、と思って試用してみたけれど、いきなり最初から躓いてしまった。
バージョンも色々古いから、他の作業で使うとも思えないし…。コントロールパネル経由でアンインストールしておいた。残念。
tar zxvf SDL-1.2.15.tar.gz cd SDL-1.2.15 ./configure --prefix=/mingw
$ ./configure --prefix=/mingw checking build system type... i686-pc-mingw32 checking host system type... i686-pc-mingw32 checking for gcc... gcc checking for C compiler default output file name... configure: error: C compiler cannot create executables See `config.log' for more details.
処理が進まない。Cコンパイラは実行形式を作れない、と言ってきた。
すんなりビルドできるのであれば、と思って試用してみたけれど、いきなり最初から躓いてしまった。
バージョンも色々古いから、他の作業で使うとも思えないし…。コントロールパネル経由でアンインストールしておいた。残念。
◎ 余談 :
これ、何度も書くけど。MSYS2 なら、SDL 1.x も SDL2 もパッケージになって用意されていて、例えば以下のような感じで SDL_mixer だろうと smpeg だろうとインストールできるから苦労しないです。SDL 1.x や SDL2 を使って何か作りたいなら、MSYS2 を使えばOKです。
FreeBASIC で SDL 1.x を使いたい時も、reimp を使って、Visual C++用ライブラリ(.lib)を MinGW用ライブラリ(.a)に変換すれば、ひとまず使えちゃうので…。SDL2 なら、MinGW用ライブラリファイルも公式に配布されてるので…。
単に、今現在入手できる MinGW (gcc 6.3.0) で SDL 1.x 関係のビルドってできるのかな、難しいのかな、と気になってやってるだけなので…。
とりあえず、tiff (libtiff) と smpeg がビルドできないけれど、それ以外ならビルドできたので、機能を一部持ってない SDL_image と SDL_mixer でもいいなら、作れそうではあるなと…。実験してみて、そこまでは分かった…。
pacman -S mingw-w64-i686-SDL_mixer pacman -S mingw-w64-i686-smpeg
FreeBASIC で SDL 1.x を使いたい時も、reimp を使って、Visual C++用ライブラリ(.lib)を MinGW用ライブラリ(.a)に変換すれば、ひとまず使えちゃうので…。SDL2 なら、MinGW用ライブラリファイルも公式に配布されてるので…。
単に、今現在入手できる MinGW (gcc 6.3.0) で SDL 1.x 関係のビルドってできるのかな、難しいのかな、と気になってやってるだけなので…。
とりあえず、tiff (libtiff) と smpeg がビルドできないけれど、それ以外ならビルドできたので、機能を一部持ってない SDL_image と SDL_mixer でもいいなら、作れそうではあるなと…。実験してみて、そこまでは分かった…。
[ ツッコむ ]
以上です。