为什么不能加载我的DLL?

时间:2017-10-12 20:37:49

标签: c++ dll lua

我收到此错误:

FATAL ERROR: lua_pcall() failed: error loading module 'foo' from file 'C:\Users\Commander\Desktop\Platform\Debug\foo.dll': The specified procedure could not be found.

我在Lua中加载我的DLL文件:

require("foo")

我的DLL代码,我使用的是Visual Studio Compiler (它编译,没有错误)

#include "stdafx.h"

#pragma comment( lib, "liblua53.a" )
extern "C" {
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>
}

#include <iostream>


using namespace std;

extern "C" {
    static int l_bar(lua_State *L)
    {
        puts("l_bar called.");
        return 0;
    }

    void luaopen_foo(lua_State *L)
    {
        static const struct luaL_Reg foo[] = {
        { "bar", l_bar },
            { NULL, NULL }
        };
        luaL_newlib(L, foo);  
        lua_setglobal(L, "foo"); 
    }
}

是否存在此错误,或者是否无法在lua中加载dll文件

我在这里找到了示例c ++代码:https://stackoverflow.com/a/12059441/8767704

0 个答案:

没有答案