【发布时间】:2012-05-20 15:05:19
【问题描述】:
我正在尝试使用 luabind 在这里完成教程,http://www.rasterbar.com/products/luabind/docs.html,但是我在加载库时遇到了问题。我目前正在使用 5.1 版的 lua,所以我相信我会使用 package.loadlib 而不是 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()
它声明 greet 是 nil。如何正确加载 dll 中的函数?
【问题讨论】: