2012-10-01 32 views
9

Estoy tratando de configurar la cobertura de código en Xcode 4.5. Para hacerlo, activé Generar archivos de cobertura de prueba y Flujo de programa de instrumento para la configuración de depuración. De acuerdo con http://meandmark.com/blog/2012/08/xcode-4-generating-code-coverage-files-with-llvm/ eso es todo lo que necesitas. Sin embargo, ahora el enlazador se queja de que no puede encontrar:cobertura de código de iOS roto en Xcode 4.5?

  • _llvm_gcda_emit_arcs
  • _llvm_gcda_emit_function
  • _llvm_gcda_end_file
  • _llvm_gcda_increment_indirect_counter
  • _llvm_gcda_start_file

He intentado encontrar libprofile_rt.dylib, pero parece que ya no existe. ¿Qué más se necesita para generar archivos de cobertura de código?

+0

La cobertura del código LLVM solo está disponible actualmente para Mac OS X, no para iOS. –

+1

Está disponible para iOS. Además, la instrucción en la entrada del blog no está completa. Falta crear un objetivo de prueba. – Mateusz

Respuesta

4

También encontré estos errores de enlazador. Vi los errores usando Xcode 4.2 y 4.3. No estoy seguro si todavía están allí en 4.5.

Para resolverlo agregué this file del proyecto llvm a mi proyecto de código de prueba de unidad. Para que funcione en mi Mac eliminé el win32 y el sys incluye y reemplacé el #include "llvm/Support/DataTypes.h" con #include "stdint.h".

+0

¡Funcionó muy bien en Xcode 4.5! ¡Gracias! – Karl

+0

¡Eres el hombre! ¡Esto fue tan útil! – rooftop

+0

Hola, todavía tengo este problema ... y estoy tratando de arreglarlo. No pude encontrar el mismo archivo exacto que tú, pero obtuve este archivo llamado: GCOVProfiling.cpp. Creo que tienen la misma funcionalidad.El problema es que tiene tantas importaciones de otros archivos en el proyecto llvm. ¿Qué debería hacer con todas las importaciones? Cualquier ayuda sería muy apreciada, ¡gracias! – gyan

8

Bajo el escenario objetivo build (asegúrese de seleccionar todos)

Set:

  • de Apple LLVM compilador
    • el flujo del programa Instrumento: SÍ
    • Generar archivos de prueba de cobertura: SÍ
+0

Mi pregunta especifica que ya hice esto. – Karl

+0

Esta es una respuesta perfectamente correcta. Acabo de confirmar eso en Xcode 4.5.1. Solo necesita establecer estas configuraciones para un objetivo de prueba. Puede crear un objetivo para la prueba: Archivo -> Nuevo -> Destino A continuación, seleccione iOS | Otro | Paquete de prueba de unidad de toque de cacao Además, es posible que necesite establecer Generar código de perfil: SÍ para generar archivos gcda. Ese fue el único problema que he encontrado recientemente. No debería haber errores de enlace. – Mateusz

+2

Tengo el mismo problema. Los archivos gcno están ahí pero no hay archivos gcda. Los configuré para todas las configuraciones de compilación y establecí Generar código de perfil en YES, pero aún así, no hay archivos gcda. – Flax

0

Las pruebas unitarias deben pasar para que se generen archivos gcda.

Cuestiones relacionadas