попытаться вызвать глобальную `print' (нулевое значение)

У меня есть следующий файл 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; }

и следующий make-файл:

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, а не с API C. Они также, кажется, подразумевают, что проблема в том, что функция printникогда не была определена. Я этого не понимаю, так как я могу запустить как интерпретатор lua, так и скрипт lua прямо из командной строки.

РЕДАКТИРОВАТЬ:Я использую луа 5.0

6
задан ewok 7 August 2012 в 16:12
поделиться