今回はC++から最低限のLuaのコードを実行してみます。
本格的に連携する前準備と言ったところです。
使用するコンパイラはVisual Studio 2005 Professionalです。
プロジェクトでリンクするライブラリに「lua5.1.lib」を
追加してから以下を行ってください。
もしくは
共通のヘッダファイル(stdafx.hとか)に
#pragma comment(lib, "lua5.1.lib")
と記載しても「lua5.1.lib」をリンクできます。
やり方は好きな方で構いません。
#include "stdafx.h" #include <lua.hpp> #include "lua.h" #include "lauxlib.h" #include "lualib.h" int main() { // 新規Luaステートの作成 lua_State *L = lua_open(); // Luaの標準ライブラリを開く luaL_openlibs( L ); // スクリプトを実行する luaL_dostring( L, "print('Hello, Lua World!')" ); // Luaステート終了 lua_close( L ); return 0; }
luaL_dostring関数は、第二引数で渡された文字列をLuaスクリプトと解釈して実行する関数です。
print関数はLuaスクリプトの関数であり、引数の文字列を標準出力に出力するものです。
コンパイルが正常終了し、コンソールに「Hello, Lua World!」と表示されれば正常に動作しています。
ともあれこれで最初の一歩が踏み出せました。