1.使用luaframework 提供的 tolua_rumtime-master github https://github.com/jarjin/tolua_rumtime
根据里面的build_win32.sh 更改做出(去掉报错的luasocket):
#!/bin/bash
# 64 Bit Version
#mkdir -p linux/x86_64
#mkdir -p Plugins/linux
cd luajit-2.1
make clean
make BUILDMODE=static CC="gcc -m64 -O2" XCFLAGS=-DLUAJIT_ENABLE_GC64 CFLAGS=-fPIC
cp src/libluajit.a ../linux/x86_64/libluajit.a
make clean
cd ../pbc/
make clean
make BUILDMODE=static CC="gcc -m64"
cp build/libpbc.a ../linux/x86_64/libpbc.a
cd ..
gcc -m64 -O2 -std=gnu99 -shared \
tolua.c \
int64.c \
uint64.c \
pb.c \
lpeg.c \
struct.c \
cjson/strbuf.c \
cjson/lua_cjson.c \
cjson/fpconv.c \
sproto/sproto.c \
sproto/lsproto.c \
pbc/binding/lua/pbc-lua.c \
-o linux/x86_64/tolua.so \
-I./ \
-Iluajit-2.1/src \
-Isproto \
-Ipbc \
-Icjson \
-Wl,--whole-archive \
linux/x86_64/libluajit.a \
linux/x86_64/libpbc.a \
-Wl,--no-whole-archive -static-libgcc -static-libstdc++ -g -fPIC
生成tolua.so
2.生成之后放入项目中 在linux的unity3d运行没有问题 打包就出现问题了 出现DllNotFoundException:tolua 这里浪费了很久的时间 因为 在linux下需要像android和ios一样加上lib dllimport的时候自动加上了lib 所以改为libtolua.so 打包出来就没有问题