无法在Lua中加载C DLL模块。

我正在尝试使用“require”在Lua中加载一个C++ dll模块进行测试,以下是C++模块文件

我使用msys中的g++将此cpp文件编译成dll:

直到现在,一切都很好,我也得到了mylib.dll文件。但是当我尝试加载模块时,我得到了错误消息:这些中文字符的含义是:

我认为“指定的函数”指的是“luaopen_mylib”,但cpp文件确实有函数:luaopen_mylib,怎么了?

点赞
用户2828480
用户2828480

可能是一些名字混淆的问题。尝试:

extern "C"
{
    int luaopen_mylib(lua_State* L)
    {
        cout << "loading my lib" << endl;
        luaL_newlib(L, mylib);
        return 1;
    }
}
2015-11-23 10:12:45