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

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

C++のゲームに組み込みスクリプト(Lua)を使用する その2

今回は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!」と表示されれば正常に動作しています。

ともあれこれで最初の一歩が踏み出せました。