golua(https://github.com/aarzilli/golua)是lua的一个go语言绑定。为了跨平台的编译支持golua,需要针对各平台分别编译并配置lua依赖。下面分开介绍一下各平台的编译和配置方法。
【MacOS】
- 下载lua5.1 wget http://www.lua.org/ftp/lua-5.1.5.tar.gz
- tar zxf lua-5.1.5.tar.gz
- cd lua-5.1.5
- make && make install
- 检查/usr/local/pkgconfig目录下是否存在lua5.1.pc,如果不存在,使用如下内容创建文件/usr/local/pkgconfig/lua5.1.pc
prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: liblua Description: Lua5.1 Version: 5.1 Requires: Libs: -L${libdir} -llua Cflags: -I${includedir} -I${includedir}/lua
【Ubuntu上编译Windows库】
- 安装mingw-w64: apt-get install mingw-w64
- 下载lua5.1 wget http://www.lua.org/ftp/lua-5.1.5.tar.gz
- tar zxf lua-5.1.5.tar.gz
- cd lua-5.1.5
- 修改src/Makefile文件,将CC=gcc修改为CC= $(CROSS)gcc
- 在lua-5.1.5目录下,运行:CROSS=x86_64-w64-mingw32- make mingw
- 将src/lib/liblua.a拷贝到~/go/src/github.com/aarzilli/golua/lua目录下
可以简单的执行如下脚本完成编译:
#!/bin/bash apt-get -y install mingw-w64 rm lua-5.1.5.tar.gz wget http://www.lua.org/ftp/lua-5.1.5.tar.gz tar zxf lua-5.1.5.tar.gz cd lua-5.1.5 sed -i -e "s/gcc/\$\{CROSS\}gcc/" src/Makefile CROSS=x86_64-w64-mingw32- make mingw