2012-01-09 6 views
7

Estoy construyendo una aplicación iOS 5 con ARC usando clang en Xcode 4.2/Lion. Una buena práctica para mí es tratar de deshacerse de tantas advertencias como sea posible, pero estoy perdido en esta. La aplicación tiene un buen número de clases, pero un número limitado de sus archivos de cabecera (8 ó 9) dan advertencias de vinculador como este:Xcode/clang: ¿Por qué algunos, no todos, de mis encabezados dan "advertencia: ninguna regla para procesar el archivo xxx para la arquitectura arm7"

warning: no rule to process file '$(PROJECT_DIR)/TKMyClass.h' of type sourcecode.objj.h for architecture arm7` 

no veo ningún similitudes significativas a través de estos encabezados: una pareja está tercero código OSS de la fiesta; el resto son todos míos Uno es un archivo de encabezado C simple (sin el correspondiente archivo .c) que no contiene nada más que constantes, #defines y enumeraciones; un par son las subclases UIView y UIViewController creadas con las plantillas de Xcode; el resto son clases ordinarias de Obj-C, algunas de las cuales heredan de NSObject y otras no. Todas (de mis clases) se crearon desde cero dentro del proyecto en varias ocasiones. Tanto las clases más antiguas como las más nuevas no dan ninguna advertencia.

Mi proyecto utiliza una combinación de clases C++, Objective-C++ y Objective C. Las clases generadoras de advertencia aquí son principalmente Objective C (sus implementaciones están en archivos .m) pero las dos clases de terceros se implementan en Objective C++ (.mm).

El proyecto de lo contrario funciona bien y se ejecuta en el simulador y en iDevices.

Para mi pena, no estoy particularmente familiarizado con las páginas de configuración del proyecto en Xcode. Espero que la solución esté contenida en alguna parte, pero no estoy seguro de por dónde empezar sin romper las cosas.

Respuesta

20

Eso significa que accidentalmente ha agregado archivos de encabezado para compilar. Debe ingresar a sus proyectos Build Phases y eliminar todos los archivos de encabezado de la sección Compile Sources.

+0

Gracias, eso fue todo. –

+0

Lo extraño (para mí) es que xcode se los agrega al agregar un nuevo archivo al proyecto a través del asistente. – glasz

2

Comprueba tu Arquitectura (Proyecto y Destino): Estándar (armv7) - $ (ARCHS_STANDARD_32_BIT) y ve a Build Pharse (Compile Source) y cheek no debería tener ningún archivo .h allí.

Cuestiones relacionadas