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 打包出來就沒有問題