結果だけでなく過程も見てください

たい焼きさんの日々の奮闘を綴る日記です。

C++で組み込みスクリプト(Lua)を使用する その1

最新版は5.1.4です。


ここではまず、ShiftJIS対応版の5.1.4を自作します。
5.1.3のShiftJIS版があるので、それを流用します。


ShiftJIS対応版5.1.4のコンパイルは以下のサイトで解説しています。
http://d.hatena.ne.jp/nao_19/20091128/luainsjis


5.1.4のソースコードは以下からダウンロードしましょう。
http://luabinaries.sourceforge.net/download.html


ShiftJIS対応版の5.1.3は以下からダウンロードしましょう。
http://hammm.dw.land.to/lua/


以下を行います。
1. 5.1.3のllex.cとmbenc.hを5.1.4のsrcにコピーします
2. 5.1.4のsrcを5.1.3のsrcに全て上書きコピーします
3. 5.1.3を自分のVisualStudioの環境に合わせてコンパイルする


メンドイのでdllではなく静的リンクで進めようと思います。
5.1.3のフォルダ内の「lib/static」下にlibファイルがあるので、それを使いましょう。


VisualStudioにパスを通す過程の解説は割愛します。


日本語表示は後日やりますが、わかる人は以下を実行してください。
文字化けしなければ成功です。

print "ソース表示機能";

おまけ Luaのビルドについて(2015/08/31追記)

自分でも、自分のブログを見に来て「なんで当時の自分はLuaのビルド方法について書いてないんだ!ぷんぷん!」
と怒り心頭でキーボードをかち割ったことがあるのですが、その理由はLuaにはVisual Studioのプロジェクトおよび
ソリューションファイルが付属されておりそれを起動してビルドするだけでいいからのようです。

毎回これを忘れるんですよね・・・。

自分の環境の場合、以下のようなフォルダ構成になっていました。
どこからダウンロードしたかは忘れましたが、公式の5.1.5にShift-JIS対応版の差分をぶちこんだものだったと思います。

[lua-5.1.5]
├[doc]
├[etc]
├[include]
├[lib]
├[lua-5.1.5-build]
│├[ipch]
│├[lua-5.1.5-build]
│├lua-5.1.5-build.sdf
│├lua-5.1.5-build.sln ←これ
│└lua-5.1.5-build.suo
├[src]
└[test]

あ、あとは他の記事でも書いていますがくれぐれのCランタイムライブラリのリンク方法(スタティック/ダイナミック)には
気を付けてくださいね!