Pregunta

Tengo un proyecto Objetivo C en XCode. Cuando la construcción, XCode precompila mi archivo PCH prefijo de dos veces. La primera vez, utiliza el -x objective-c-header argumentos, y funciona bien. La segunda vez, utiliza -x c-header, y falla (debido al archivo que contiene el código Objective C).

Tengo otro proyecto que se ha configurado la misma, pero se construye bien. (PCH La única vez que se ha precompilado, con C. Objetivo) He comparado los valores de creación de los dos proyectos de lado a lado, y nada se diferenciaban relevante. He comparado los valores de creación para los objetivos de lado a lado, y de nuevo, no hay diferencias relevantes.

He intentado limpiar todos los objetivos y la reconstrucción, pero no hubo suerte. He intentado reiniciar XCode, pero no hubo suerte. Me grepped mi carpeta de proyecto para c-header, pero sólo apareció en los registros de construcción.

¿Cuál podría ser la causa de esto?

¿Fue útil?

Solución 2

No me gusta responder a mi propia pregunta, pero lo he descubierto. He desactivado precompilar la cabecera de prefijo para ver si eso me dejó continuar trabajando. La construcción todavía no con el mismo error, pero fracasó cuando se incluye el archivo de un archivo .c Me olvidé que tenía en el proyecto. Al parecer, la existencia de este archivo .c es la diferencia entre este proyecto y el otro. Ahora que sé lo que está pasando, moví mi código dentro del #ifdef __OBJC__, y todo parece estar bien.

Otros consejos

El archivo PCH está siendo reconstruida varias veces porque hay varios idiomas en su proyecto; una vez con el compilador de Objective-C y una vez con el archivo C recta, por lo que tenías código de Objective-C fuera de la ObjC #ifdef y que causó el compilador recta C a hoark hasta que de almuerzo.

Si tuviera un archivo C ++, lo que probablemente terminará con 3 compilaciones PCH (IIRC - sido un tiempo desde que mucked con eso).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top