Мне удалось скомпилировать Lua 5.1.4 для Palm WebOS, и теперь я пытаюсь написать расширение для использования сервисов webOS от Lua. Однако, когда я пытаюсь загрузить свою библиотеку, сообщает 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, так что сделал трюк! Благодаря! –
Просто так, что мы знаем: при создании Lua делает 'make linux' работать из коробки в WebOS? – lhf