補助ライブラリの追加

1. まず補助ライブラリ自体のビルド

Lua for Windowsの中にあるgzioでテスト。以下からソースをダウンロードして展開。

2. 展開したsrcファイルの中でDLLをビルド

  • Luaの環境(lauxlib.h、lua.h、luaconf.h、lualib.h、lua51.lib)をフォルダにコピー。
  • zlibの環境(zconf.h、zlib.h、zdll.lib)をフォルダにコピー。

以下でビルド。lgzio.dllが作成される。

> gcc -I. *.c zdll.lib lua51.lib -shared -o lgzio.dll


3. Luaのソースを修正

init.cの以下を修正。

static const luaL_Reg lualibs[] = {
  {"", luaopen_base},
  ...
  {LUA_DBLIBNAME, luaopen_debug},
  {LUA_GZIOLIBNAME, luaopen_gzio},    // <- この行を追加!
  {NULL, NULL}
};

lualib.hの以下を修正。

#define LUA_GZIOLIBNAME "gzio"                   // <- この2行を追加!
LUALIB_API int (luaopen_gzio) (lua_State *L);    //


4. Luaをビルド

Luaのsrcフォルダ内で、以下のコマンドを実行。

>gcc *.c -o lua lgzio.dll

これで、gzioモジュールを使用できるようになる。