- x64
- Windows 10 Pro
- Visual Studio Community 2015 Update1
1. Luaのソースコードをダウンロードする。
以下のページからLuaの最新のソースコードをダウンロードしてくる。
2016/3/8時点での最新は「lua-5.3.2.tar.gz」。
アーカイブを展開すると以下のディレクトリ構成になっている。
/doc/***
/src/*** (*.h/*.c/lua.hpp/Makefile)
/Makefile
/README
2. LuaをVisual Studioでビルドしてスタティックライブラリを作成する。
2-1. Visual Studio でプロジェクトを作成する。
Visual Studioで空のプロジェクトを作成する。今回はプロジェクト名は「LuaBuildVS」とした。
2-2. プロジェクトにLuaのソースコードを追加する。
追加するのはsrcディレクトリ内に存在する「*.h/*.c/lua.hpp」。
Makefileは不要。
2-3. プロジェクトの設定を実施。
- 構成の種類を「スタティックライブラリ(.lib)」に設定
- 文字セットを「Unicode文字セットを使用する」に設定
- 共通言語ランタイムサポートは「共通言語ランタイム サポートを使用しない」に設定
2-3. ビルドを実施。
前述した設定を行ったらビルドを行う。
ビルドするとスタティックライブラリ(LuaBuildVS.lib)が生成される。
3. スタティックライブラリを参照するプロジェクト向けの事前準備
スタティックライブラリを参照するプロジェクト向けに必要なヘッダファイルとスタティックライブラリを所定のディレクトリに配置しておく。今回は以下の場所に配置した。
C:\Develop\lib配下
- LuaBuildVS.lib
※前述した手順で作成したスタティックライブラリ
C:\Develop\include配下
- lua.h
- lualib.h
- lauxlib.h
- luaconf.h
- lua.hpp
※Luaのソースコードから持ってきたヘッダファイル
lua.hppはC++向けのヘッダファイル。
中身は以下となっており、C向けのヘッダファイルをexternしているだけである事が分かる。
extern "C" {
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
luaconf.hについては、スタティックライブラリを参照するプロジェクト側では直接利用しないが、
他のヘッダファイル内で参照されるため、includeディレクトリに配置しておく必要がある。
4. C++アプリからLuaのスクリプトを実行してみる。
4-1. Visual Studio でプロジェクトを作成する。
今回は「LuaSample」という名前のコンソールアプリケーションを作成した。
4-2. Luaのヘッダファイルへのパスを設定する。
インクルードディレクトリに「C:\Develop\include」を設定する。
4-3. スタティックライブラリへのパスを設定する。
リンカーの追加の依存ファイルに「C:\Develop\lib\LuaBuildVS.lib」を設定する。
4-4. サンプルプログラムを作成する。
#include <iostream>
#include "lua.hpp"
int main(int argc, char** argv)
{
const char* fileName = "C:\\Develop\\LuaScript\\Sample.lua";
lua_State* luaState = luaL_newstate();
luaL_openlibs(luaState);
std::cout << "result : " << luaL_dofile(luaState, fileName);
lua_close(luaState);
int input;
std::cin >> input;
return 0;
}
-- Sample.lua
print("Hello Lua!")







0 件のコメント:
コメントを投稿