Cómo build zlib para arm64

Utilizo una biblioteca de representación de código abierto (Ogre3D) que tiene una dependencia de zlib.

En XCode5, noté que cuando se construye para iOS, zlib no se genera si la configuration de ARCHS indica la architecture de 64 bits (arm64).

Obtengo errores sobre "statement de function implícita" en relación con las LSEEK macro, read y write LSEEK . Busqué LSEEK en gzlib.c:

 #if defined(_WIN32) && !defined(__BORLANDC__) # define LSEEK _lseeki64 #else #if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0 # define LSEEK lseek64 #else # define LSEEK lseek #endif #endif 

Mi conjetura es que algo aquí está mal, pero no sé qué. Y en cuanto a read() y write() no tengo ni idea.

    Intente agregar un #include <unistd.h> en gzguts.h.

    La solución más fácil en ese escenario no es build zlib usted mismo, ya que viene precomstackdo con iOS SDK (también para arm64).

    Este último compromiso lo corrige también en el repository oficial de dependencies Ogre.

    Aparte de eso, existe esta otra opción de este hilo de Ogre3D :

    Con ARCHS = ARCHS_STANDARD_INCLUDING_64_BIT , proyectos como zlip estaban fallando. Cuando cambié esto a ARCHS_STANDARD_32_64_BIT , construyeron OK. Descubrí que el primero evalúa "armv7 armv7s arm64", mientras que este último evalúa a "armv7 armv7s". Entonces, creo que zlip no buildá para arm64.

    Eso significaría que las partes Ogre3D se comstackron para 64 bits, donde algunas dependencies como zlib permanecen 32 bits.