2
我設法爲Palm webOS編譯Lua 5.1.4,現在我正在嘗試編寫一個擴展來使用來自Lua的webOS服務。但是,當我嘗試加載我的圖書館,Lua的報道:爲什麼Lua報告lua_pushlstring是未定義的?
undefined symbol: lua_pushlstring
這裏是我的代碼:
#define LUA_LIB
#include "lua.h"
#include "lauxlib.h"
static int hellopalm(lua_State *L) {
lua_pushliteral(L, "Hello, Palm!");
return 1;
}
static const luaL_reg palmlib[] = {
{ "hellopalm", hellopalm },
{ NULL, NULL }
};
LUALIB_API int luaopen_palm(lua_State *L) {
luaL_register(L, "palm", palmlib);
return 1;
}
這裏是我的Makefile:
LUADIR= ../lua-5.1.4/lua-webos
CC= arm-none-linux-gnueabi-gcc
CFLAGS= -O2 -Wall -shared -nostdlib -mcpu=arm1136jf-s -mfpu=vfp -mfloat-abi=softfp
INCLUDES= -I$(LUADIR)/include
RM= rm -f
LIBNAME= palmlib.so
SOURCES= palmlib.c
default: $(LIBNAME)
clean:
$(RM) $(LIBNAME)
$(LIBNAME): palmlib.c
$(CC) $(CFLAGS) $(INCLUDES) $(SOURCES) -o [email protected]
我知道lua_pushliteral
僅僅是一個宏調用lua_pushlstring
,這就是錯誤來自的地方。 push_*
變體似乎根本沒有工作。我懷疑我的Makefile有問題。
任何想法?
WebOS基於Linux,所以這個技巧!謝謝! – 2010-06-24 14:41:18
就這樣我們知道:在構建Lua的時候,WebOS中的''linux是否可以運行? – lhf 2010-06-24 17:20:54