ConcurrentLuaをWindowsで動かすには

ConcurrentLuaをLua for Windowsで動かすメモ。

ConcurrentLuaのコンパイル

<ConcurrentLua>/src/cldaemon/cldaemon.c
<ConcurrentLua>/src/cltime/cltime.c

のそれぞれを別々の新規プロジェクトにする。
Win32 プロジェクトのDLL、空のプロジェクトを指定。
ソースコードをプロジェクトに追加。
ツール->オプションからVC++ ディレクトリに次を追加

インクルードファイル: <Lua/5.1>/include
ライブラリファイル: <Lua/5.1>/lib

プロジェクトのプロパティを開いてRelease構成にしたら、以下を設定

C/C++ -> コード生成 -> ランタイム ライブラリ: マルチスレッド DLL (/MD)
リンカ -> 入力 -> 追加の依存ファイル -> <Lua/5.1>lib/lua51.lib

このままビルドしても「指定したプロシージャが見つからない」と言われるので、ソースコードを少しいじる。

削除:LUALIB_API
置換:__declspec(dllexport)

修正終わったら二つともビルド。
生成したDLLを/clibsに放り込めば完了

テスト

/samples以下のLuaスクリプトが実行できればうまくいってる。
ただし、example4a.lua example4b.lua はnodeを使ってるので、

lua <ConcurrentLua>/src/clpmd/clpmd

と、Luaでport mapper daemonなるものを実行しながら。