我正在尝试使用 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 中的函数?