【发布时间】:2012-08-07 16:06:43
【问题描述】:
我有以下 C 文件:
//thing.c
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>
#include <stdio.h>
lua_State* L;
int main(){
L = lua_open();
lua_dostring(L, "print(\"lua\")");
printf("hello\n");
return 0; }
以及下面的makefile:
default:
gcc -I/usr/include/lua50 -L/usr/lib -o qwerty thing.c -llua50 -llualib50
代码构建得很好,但是当我运行它时,我得到以下信息:
[string "print("lua")"]:1: attempt to call global `print' (a nil value)
hello
注意:我看到了很多关于这个错误的其他问题,但它们都直接在 Lua 中工作,而不是在 C api 中。它们似乎还暗示问题在于从未定义过 print 函数。我不明白这一点,因为我可以直接从命令行运行 lua 解释器和 lua 脚本。
编辑:我使用的是 lua 5.0
【问题讨论】: