Lua 5.2"检测到多个VM"

时间:2014-04-28 09:08:41

标签: lua

我有这个简单的程序,我在Visual C ++ 2008 Express中用dll编写:

#include <lua52/lua.h>
#include <lua52/lualib.h>
#include <lua52/lauxlib.h>
#pragma comment(lib,"lua52.lib")
#include <stdio.h>

int needless(lua_State *L)
{
printf("bullshit\n");
return 0;
}
static const struct luaL_Reg noise[] = {
    {"needless",needless},
    {NULL,NULL}
};
__declspec(dllexport) int __cdecl luaopen_noise(lua_State *L)
{

luaL_newlib(L, noise);
    return 1;
}

当我在lua5.2解释器中将生成的dll与“import noise”链接起来时,我得到了“检测到多个lua虚拟机”的原因让我望而却步。我该怎么做才能使其有效?

1 个答案:

答案 0 :(得分:1)

用C语言编写的Lua库包含Lua核心库的副本。

我不知道Visual C +,但这条线可能是罪魁祸首:

#pragma comment(lib,"lua52.lib")