Perl:Win32-GUI&EXE化

参考(というか記録のため丸々コピー):http://cubic9.com/Devel/Perl/Win32-GUI/

PerlでWindows用の単体で配布可能なGUI付きソフトを作ってみる。

■必要なもの

■インストール

  1. ActivePerl5.8系をインストール
  2. 再起動 (パスが通るように)
  3. Win32-GUI-0.99_1-PPM-5.8.zipをc:\に解凍
  4. Loft_binary.zipをc:\に解凍
  5. コマンドプロンプト起動 (Win+r, cmd)
  6. Win32::GUIをインストール

    cd Win32-GUI-0.99_1-PPM-5.8 ppm install Win32-GUI.ppd cd .. rmdir /s Win32-GUI-1.0-PPM-5.8

  7. The GUI Loftをインストール

    cd TheGUILoftPPMAdHoc ppm install Win32-GUI-AdHoc.ppd cd TheGUILoftPPMLoft ppm install Win32-GUI-Loft.ppd

  8. Win32::APIをインストール

    ppm install Win32-API

■使ってみる

  • \TheGUILoft\tgl.exe で GUIを作成。launcher.gld として保存。
  • いやな日記さんのコードを入力。launcher.pl として保存。
  • launcher.gld と launcher.pl を同じフォルダに突っ込んで、launcher.pl を実行。

■exeにする
以下が必要

■CPANをインストール
以下が必要

  1. 上記を解凍して次のものをc:\binにコピー。
    • gzip.exe
    • tar.exe
    • NMAKE.EXE
    • NMAKE.ERR
  2. 環境変数にc:\binを加える。
  3. コマンドプロンプト起動 (Win+r, cmd)
  4. CPANの初期設定
    perl -MCPAN -e shell

    Enter連打。gzip,tar,makeの箇所だけは慎重に。

■PARをインストール
適当に解凍

cd PAR-0.86 perl Makefile.PL nmake nmake install cd .. rmdir /s PAR-0.86

■exeに変換

pp --gui -a launcher.gld -o launcher.exe launcher.pl

■備考

  • Encode.pm使うときはuse Encode::JP;と記述すること。
  • ワンライナーもexeに出来る。
    pp -o hello -e 'print "hellon"'

■アイコンを変える

pp -g -i launcher.ico -a launcher.gld -o launcher.exe launcher.pl

でも変えられるが、試したところ一気に数百kByte増えてしまったので、 KH IconRewrite98を使う。