inc images imagenes fotos apple iphone cocoa-touch macos lua linker-errors

images - iphone fotos



Lua en el iPhone? (3)

Es posible que desee comprobar iPhone Wax. Es un puente lua / iPhone que te permite escribir aplicaciones nativas para iPhone en lua puro. Aquí hay un buen tutorial al respecto.

Estoy tratando de usar Lua en el iPhone. En Mac OS X, en una aplicación Cocoa normal (sin iOS), utilicé el siguiente código:

lua_State* l; l = lua_open(); luaL_openlibs(l); luaL_loadstring(l, "print(/"Hi from Lua/");"); lua_pcall(l, 0, 0, 0);

Descargué Lua 5.1.4 de lua.org/ftp y lo compilé para Mac OS X. En el proyecto de Xcode, utilicé "Agregar marco existente" para agregar liblua.a y utilicé "Agregar archivos existentes" para agregar el directorio de inclusión. .

Esto funciona como se esperaba e imprime la cadena: "Hola desde Lua". Cuando intento lo mismo en un proyecto de iOS, me da los siguientes errores:

"_luaL_newstate", referenced from: _main in main.o more of the same thing... symbol(s) not found collect2: ld returned 1 exit status

Parece que el archivo .a no está vinculado a la aplicación de iPhone. ¿Alguien sabe cómo hacer que esto funcione?

(Por cierto, realmente no me importa que Apple no acepte mi aplicación si tiene Lua).


Necesitará compilar el Lua .a para ARM, no para Intel. Si la biblioteca Lua usa autoconf, puede usar mi build_for_iphoneos iphone / autoconf favorito: build_for_iphoneos . Si no es autoconf, puedes usar ese script para tener una idea de cómo atacarlo. Algunas veces puedes simplemente construir un proyecto de Xcode de la Biblioteca Estática, volcar todos los archivos en él y presionar construir. Si la construcción es lo suficientemente simple, hará la mayor parte del trabajo por usted.

Sé que no importa para su uso, pero las herramientas basadas en Lua generalmente se pueden enviar en la tienda de aplicaciones. Simplemente no puede descargar código arbitrario en tiempo de ejecución e interpretarlo.


Si quieres escribir el código Lua para iOS, echa un vistazo a MOAI inmediatamente: http://getmoai.com/

Es un marco absolutamente agradable para desarrollar juegos en iOS y Android, así como en Windows y OSX. No solo eso, sino que proporciona una idea bastante buena de cómo implementar correctamente un entorno de alojamiento basado en Lua-VM para la creación de scripts de forma multiplataforma: de MOAI, puede aprender mucho sobre esto. He hecho 4 títulos con MOAI hasta el momento, y no se detendrá en el corto plazo. ¡MOAI absolutamente patea el culo!

También consulte LOAD81, que es un esfuerzo similar, aunque con SDL como entorno de destino: http://github.com/antirez/load81

(He contribuido un poco al proyecto LOAD81, específicamente dándole características de interés / valor a la comunidad OpenPandora. MOAI es más comercial, LOAD81 es más aficionado ..)

Para aquellos que intentan aprender Lua y los diferentes métodos de integración de Lua VM en un proyecto para múltiples objetivos de plataforma, tanto MOAI como LOAD81 pueden proporcionar una gran cantidad de antecedentes y pistas sobre la forma correcta de proceder.