佚名通过本文主要向大家介绍了c语言调用lua,c语言中嵌入汇编,嵌入式c语言,嵌入式c语言面试题,嵌入式c语言教程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
    
  
                问题:c语言中嵌入lua
描述:
解决方案1:
                    
 
   
 
 
 
描述:
main.c 如下
#include <stdio.h>
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
#include "luaconf.h"
int main(int argc, char* argv[])
{
    lua_State* L = luaL_newstate();
    luaL_openlibs(L);
    luaL_dofile(L, "D:\\__Development\\C\\delve\\Test_lua\\test.lua");
    lua_close(L);
    return 0;
}
test.lua如下
function show()
    local b = {}
    local index
    for index = 1,10,1 do
        print(index)
    end
end
show()
我是编译安的lua,但是执行的时候老报错,lua版本5.2
jamlee@ubuntu-jam:~/lab/lua$ ls /usr/local/bin/
lua  luac
jamlee@ubuntu-jam:~/lab/lua$ ls /usr/local/lib/
liblua.so  python2.7  python3.4
jamlee@ubuntu-jam:~/lab/lua$ 
jamlee@ubuntu-jam:~/lab/lua$ gcc -llua main.c
/tmp/cc1AF3u7.o: In function `main':
main.c:(.text+0xa): undefined reference to `luaL_newstate'
main.c:(.text+0x1a): undefined reference to `luaL_openlibs'
main.c:(.text+0x36): undefined reference to `luaL_loadfilex'
main.c:(.text+0x6e): undefined reference to `lua_pcallk'
main.c:(.text+0x7f): undefined reference to `lua_close'
collect2: error: ld returned 1 exit status
解决方案1:
其中 -Lxx是lua.so 的目录
gcc main.c -llua -lm -ldl -Lxx -o test

