无法在Linux上链接Lua库。

我在 Debian x86-64 上使用 make posix 编译了 Lua 5.2,并尝试使用命令 gcc -ldl -llua main.c 编译以下内容:

#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
int main() {
  lua_State *L = luaL_newstate();
  luaL_openlibs(L);
  dofile("test.lua");
  return 0;
}

然而却遇到了 Lua 函数未解析的引用问题。

点赞
用户258523
用户258523

假设您的错误是

undefined reference to `dofile'

那么您的问题在于dofile是一个Lua函数而不是C函数。

您可能想要使用 luaL_dofile(L,"test.lua")

2013-11-12 22:29:02
用户4159461
用户4159461

命令行编译代码的命令是:

gcc -o pp pp.c -I/usr/include/lua5.1/ -llua5.1

可能缺少头文件。

2015-11-18 20:21:16