ここhttp://www.rasterbar.com/products/luabind/docs.htmlでluabindを使用してチュートリアルを実行しようとしていますが、ライブラリのロードに問題があります。私は現在luaのバージョン5.1を使用しているので、loadlibの代わりにpackage.loadlibを使用すると思います。私はこれである単純なdllを作りました:
#include <iostream>
#include <luabind\luabind.hpp>
void greet()
{
std::cout << "Hello world!\n";
}
extern "C" int init(lua_State* L)
{
luabind::open(L);
luabind::module(L)
[
luabind::def("greet", &greet)
];
return 0;
}
これは問題なく構築されます。ただし、このコードを実行しようとすると、luaでエラーが発生します。
package.loadlib("LuaTestLib.dll", "init")
greet()
あいさつはゼロだと書いてあります。dllから関数を正しくロードするにはどうすればよいですか?