Lua交叉编译

编译说明

最为C的御用脚本,在嵌入式平台自然少不了lua的身影,lua本身非常小巧只需要几十k的内存就可以运行,可以说在C语言能运行的环境中,它基本都可以运行,如果讲lua一直到arm平台,默认的make linux似乎有些问题,需要手动修改一些编译参数。

编译准备

  1. 下载 http://www.lua.org/download.html lua-5.3.2.tar.gz
  2. 解压缩文件 tar xvf lua-5.3.2.tar.gz —–> lua-5.3.2

编译选项配置

makefile修改

  1. CC= gcc -std=gnu99 改为你当前的交叉编译的gcc
  2. LIBS= -lm $(SYSLIBS) $(MYLIBS) 改为 LIBS= -lm $(SYSLIBS) -static
  3. AR= ar rcu 中的ar改为你的交叉编译器的ar
  4. RANLIB= ranlib 同样改为你的交叉编译器的ranlib
  5. $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline" 去掉最后的-lreadline

luaconf.h修改

  1. 需要把 #define LUA_USE_READLINE 注释掉

编译测试

文件修改完成之后就可以执行make linux了,这时就应该没有问题了。结束后会生成lua 和 luac两个文件,同时会生成lua的静态库。

讲lua传入arm平台,执行lua就可以看到lua的脚本解释器了。