我正在尝试在 OSX Snow Leopard 上构建 LuaJava,但遇到了链接问题。我已经修改了 OSX 的配置脚本,并确保所有路径都是正确的。我必须更改 luajava.c(第 2795 行)以使 lua_resume 采用两个 LuaState。这使它通过了构建阶段,但链接失败。这就是我得到的:
export MACOSX_DEPLOYMENT_TARGET=10.6; gcc -dynamiclib -all_load -o libluajava-1.1.jnilib src/c/luajava.o /usr/local/lib/liblua.a
Undefined symbols for architecture x86_64:
"_luaL_findtable", referenced from:
_Java_org_keplerproject_luajava_LuaState__1LfindTable in luajava.o
"_luaL_setn", referenced from:
_Java_org_keplerproject_luajava_LuaState__1LsetN in luajava.o
"_luaL_getn", referenced from:
_Java_org_keplerproject_luajava_LuaState__1LgetN in luajava.o
"_luaL_typerror", referenced from:
_Java_org_keplerproject_luajava_LuaState__1Ltyperror in luajava.o
"_lua_getgccount", referenced from:
_Java_org_keplerproject_luajava_LuaState__1getGcCount in luajava.o
"_lua_setfenv", referenced from:
_Java_org_keplerproject_luajava_LuaState__1setFEnv in luajava.o
"_lua_getfenv", referenced from:
_Java_org_keplerproject_luajava_LuaState__1getFEnv in luajava.o
"_lua_objlen", referenced from:
_Java_org_keplerproject_luajava_LuaState__1objlen in luajava.o
"_lua_strlen", referenced from:
_Java_org_keplerproject_luajava_LuaState__1strlen in luajava.o
"_lua_lessthan", referenced from:
_Java_org_keplerproject_luajava_LuaState__1lessthan in luajava.o
"_lua_equal", referenced from:
_Java_org_keplerproject_luajava_LuaState__1equal in luajava.o
"_lua_open", referenced from:
_Java_org_keplerproject_luajava_LuaState__1open in luajava.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [libluajava-1.1.jnilib] Error 1
我不明白,因为我刚刚为这个系统从 soruce 构建了 lua。有任何想法吗?