¿Cuál es el significado de ellos y puedo establecerlos en diferentes valores?¿Cuál es la diferencia entre "Arquitecturas" y "Arquitecturas válidas" en la configuración de compilación de Xcode?
Respuesta
Las arquitecturas son las que desea construir, las arquitecturas válidas son las que podría concebir construir con su código base.
Así que tal vez solo quiera construir su binario para armv7s, pero el mismo código fuente compilaría bien para armv7 y armv6. Así que VALID_ARCHS = armv6 armv7 armv7s
, pero estableces ARCHS = armv7s
porque eso es todo lo que realmente quieres que construya con tu código.
O, en Apple-ESE:
ARCHS (Arquitecturas)
lista separada por espacios de identificadores. Especifica las arquitecturas (ABI, modelos de procesador) a las que se dirige el binario. Cuando esta configuración de compilación especifica más de una arquitectura, el binario generado puede contener código objeto para cada una de las arquitecturas especificadas.
y:
VALID_ARCHS (Arquitecturas válido)
lista separada por espacios de identificadores. Especifica las arquitecturas para las cuales se puede construir el binario. Durante la compilación, esta lista se cruza con el valor de la configuración de compilación ARCHS; la lista resultante especifica las arquitecturas en las que se puede ejecutar el binario. Si la lista de arquitectura resultante está vacía, el objetivo no genera ningún binario.
Fuente: Xcode Build Setting Reference
En la práctica, se dejan VALID_ARCHS
solo y no se preocupe por el cambio, y simplemente jugar con ARCHS
para establecer las arquitecturas que desea construir. Normalmente, establece una compilación de depuración en solo NATIVE_ARCH
, ya que solo desea construir la versión de depuración para la máquina en la que lo probará/ejecutará, y lanzar compilaciones para todo el espectro de arquitecturas que planea admitir.
De documento de Apple, sabemos que el Xcode binario se compilará es la lista Valid Architectures
cruzada con Architectures
.
Por lo tanto, no creo que la respuesta de Jeremy es justo, como él dice:
Así que tal vez sólo desea construir su binario para armv7s, pero el mismo código fuente habría
compilarse bien para ARMv7 y armv6. Así queVALID_ARCHS = armv6 armv7 armv7s
, pero estableces ARCHS = armv7s porque eso es todo lo que realmente quieres construir con tu código.
cuando se establece VALID_ARCHS = armv6 armv7 armv7s
y establezca ARCHS = armv7s
, el resultado de Xcode binaria va a construir es armv7s, podría no es compatible con ARMv6/ARMv7.
Y si quiere ser compatible con armv6/armv7/armv7s, debe establecer VALID_ARCHS = armv6 armv7 armv7s
y ARCHS = armv6
.De esta forma, el resultado de la construcción binaria de Xcode es armv6, y puede funcionar bien en ambos armv6/armv7/armv7s ya que el procesador de brazo es compatible con versiones anteriores.
Tenía razón: "porque eso es todo ** lo que realmente quiere construir ** con su código". – Laszlo
- 1. cuál es la diferencia entre ARM7 y ARM7s
- 2. .Net y arquitecturas de complementos
- 3. arquitecturas ágiles
- 4. configuración de Xcode: Arquitectura vs arquitectura válida
- 5. Android ARM arquitecturas ARM
- 6. ¿Cuál es la diferencia entre depuración y compilación?
- 7. ¿Cuál es la diferencia entre Xcode, Objective-C y Cocoa?
- 8. Marco de entidad en Arquitecturas estratificadas
- 9. ¿Qué arquitecturas ARM admite LLVM?
- 10. ¿Cuál es la diferencia entre "Crear" y "Crear" en el menú contextual de la configuración de compilación del proyecto?
- 11. ¿Cuál es la diferencia entre la administración de la configuración y el control de la versión?
- 12. Compilar y optimizar para diferentes arquitecturas de destino
- 13. Arquitecturas desde cero en Python: ¿qué usar?
- 14. ¿Cuál es la diferencia entre establecer la ruta de compilación classpath y java en eclipse?
- 15. ¿Cuál es la diferencia entre dict() y {}?
- 16. Cuál es la diferencia entre = y: =
- 17. ¿cuál es la diferencia entre:.! y: r !?
- 18. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 19. ¿Cuál es la diferencia entre ".equals" y "=="?
- 20. ¿Cuál es la diferencia entre + = y = +?
- 21. Cuál es la diferencia entre $ y jQuery
- 22. Cuál es la diferencia entre $ (...) y `...`
- 23. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 24. ¿Cuál es la diferencia entre {0} y ""?
- 25. ¿Cuál es la diferencia entre .ToString (+) y ""
- 26. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 27. ¿Cuál es la diferencia entre " " y ""?
- 28. Cuál es la diferencia entre caché clara y datos claros en la configuración de Android
- 29. Cuál es la diferencia entre .xcdatamodeld y BadgerNew.xcdatamodel
- 30. ¿Cuál es la diferencia entre $ @ y $ * en scripts de shell?
¿Alguien sabe dónde se puede encontrar esta "lista de arquitectura resultante" ????????? – DanMoore
@DanMoore La "lista de arquitectura resultante" se realiza en la memoria en tiempo de compilación. – Saltymule
@ JeremyW.Sherman parece que VALID_ARCHS es inútil? – onmyway133