2012-07-07 7 views
9

Acabo de volver a abrir un proyecto que estaba configurado para usar Garbage Collection, y que había abierto por última vez en Xcode 3. Ahora lo abrí de nuevo en Xcode 4.5 y, buscando modernizarlo, estoy intentando activar ARC. Sin embargo, al construir, dio como resultado un error de clang 1. Al buscar más detalles en los registros de Xcode, vi el mensaje:¿Cómo desactivar la recolección de basura en Xcode 4.5 y deshacerse del error de clang 1 al encender ARC?

clang: error: no se pueden especificar tanto '-fobjc-arc' como '-fobjc-gc- solo '

Ah, necesito desactivar Garbage Collection, que estaba usando antes. Sin embargo, al buscar la configuración de compilación para la palabra "basura" o "colección", no puedo encontrar la configuración en Xcode (usando el campo de búsqueda en la Configuración de compilación en la información de destino).

Respuesta

14

Probablemente debido a la recolección de basura ahora es obsoleto, el ajuste se ha convertido en un entorno definido por el usuario, y está utilizando el nombre gcc 'GCC_ENABLE_OBJC_GC'. Es por eso que no se mostrará cuando se haga una búsqueda de 'basura' o 'colección'. En su lugar, debe buscar esa configuración en la parte inferior de las Configuraciones de compilación, o buscar la cadena GCC_ENABLE_OBJC_GC usando el campo de búsqueda.

Esto debe hacerse en el nivel del proyecto o en el nivel objetivo.

+0

La configuración del nivel de destino anula la configuración del nivel de proyecto; entonces no deberías tener que hacerlo en ambos. Ether lo establece en el nivel del Proyecto para todos los objetivos o en objetivos específicos si son los únicos que lo necesitan. – geowar

+0

@geowar: buen punto. Edité mi respuesta en consecuencia. – charles

Cuestiones relacionadas