C++ 无法读取 Lua 二进制文件

我正在按照教程嵌入 Lua 程序,教程非常好,但我遇到了一个问题。 我的代码无法访问 Lua 二进制文件。

当我尝试使用 MinGW 编译我的代码时,它说找不到我正在尝试使用的方法的引用。

我的代码:

#include <iostream>
#include <string>

extern "C"
{
#include "lua/include/lua.h"
#include "lua/include/lauxlib.h"
#include "lua/include/lualib.h"
}

#ifdef _WIN32
#pragma comment(lib, "lua/liblua54.a")
#endif

using namespace std;

int main()
{
    string cmd = "a = 7 + 11";

    lua_State *L = luaL_newstate();

    int r = luaL_dostring(L, cmd.c_str());

    if (r == LUA_OK)
    {
        lua_getglobal(L, "a");
        if (lua_isnumber(L, -1))
        {
            float a_in_cpp = (float)lua_tonumber(L, -1);
            cout << a_in_cpp << endl;
        }
    }
    else
    {
        string err = lua_tostring(L, -1);
        cout << err << endl;
    }

    system("pause");
    lua_close(L);
    return 0;
}

原文链接 https://stackoverflow.com/questions/71115917

点赞