2011-02-06 25 views
18

Hay montón de filess ayudante en la carpeta de varios de audio relacionados con códigos de ejemplo de Apple, como aurioTouch 'iPublicUtility': http://developer.apple.com/library/ios/#samplecode/aurioTouch/Introduction/Intro.htmlIOS, CoreAudio: una extraña 'CADebugPrintf.h: No existe el fichero o directorio ...' error

Puedo construir estas muestras bien. Pero cada vez que creo un nuevo proyecto para probar e incluyo los archivos de la carpeta 'iPublicUtility', obtengo: 'CADebugPrintf.h: no existe ese archivo o directorio ...' error en el archivo 'CADebugMacros.h'.

He hecho que la configuración de mi proyecto de prueba coincida con las muestras de Apple, pero este error es que no se va. ¿Cualquier sugerencia?

SDK: iOS 4.2, iMac OSX 10.6.6

Gracias a todos.

sy

Respuesta

9

tengo tres distribuciones de Xcode instaladas.

el archivo existe en los tres.

1) verifique que el archivo exista en su sistema.

2a) añadir una ruta de búsqueda a su proyecto para el directorio PublicUtility

o

2b) agregar el encabezado de "cabeceras de copia" del objetivo construir fase

dependiendo de cuántos depende usted tener para estos archivos, es posible que desee un enfoque más confiable (que existe). Una forma (bastante) segura/fácil de hacer esto si usa muchas de las fuentes y tecnologías de audio es agregar el directorio principal de su padre padre a sus rutas de búsqueda o árboles fuente (recursivamente).

Otra forma es agregarlo a un archivo de configuración de compilación compartido.

también puede copiar una publicación específica en algún lugar, y luego agregarla a sus rutas de búsqueda. solo tenga en cuenta que las fuentes se actualizan con cierta regularidad, por lo que deberá actualizarlas cuando sea un buen momento para usted. en este caso, también deberá cambiar las referencias de su proyecto.

Editar: La adición de la ruta de búsqueda (2a)

Una forma de añadir una ruta de búsqueda (suponiendo herramientas Xcode se instalan en:/desarrollador /):

1) En Xcode (3) , selecciona el objetivo.

2) cmd + i (Get Info)

3) seleccione la pestaña "Build" de la ventana de información

4) entran HEADER_SEARCH_PATHS en el campo de búsqueda

5) si el valor no está definido en este nivel (p. ej., Que no está en negrita), a continuación, establezca el valor en /desarrollador/suplementos/CoreAudio/PublicUtility/$ (heredado)

si ya está definida en ese nivel, a continuación, añadir /desarrollador/suplementos/CoreAudio/PublicUtility/ a la lista de directorios a buscar (el valor).

si desea buscar en la biblioteca de forma recursiva, use /Desarrollador/Extras/CoreAudio/**. esto puede ser útil cuando se construyen AU, u otros proyectos que requieren que AU incluya y PublicUtility incluye.

+0

Gracias por el comentario. Pero todavía estoy confundido: 1) El error se encuentra en 'CADebugMacros.h', uno de los archivos de la carpeta iPublicUtility (que proviene de la muestra de Apple). No parece ubicar 'CADebugPrintf.h'. Lo revisé y está en la carpeta 'Developer/Extra/CoreAudio/PublicUtility'. 2a) Supuse que la configuración predeterminada estaba bien, y la muestra 'aurioTouch' no tiene una ruta de búsqueda adicional. De todos modos, sin ayuda. 2b) ¿Cómo? Lo que más me desconcierta es que las muestras de Apple son buenas, solo cuando comienzo un nuevo proyecto, no sé qué configuración/bandera me falta. – user605702

+0

@ user605702 actualizado. ver: 'Editar: Agregar la ruta de búsqueda (2a)' reenviar – justin

+3

Justin está en el dinero. Agregar/Desarrollador/Extras/CoreAudio/PublicUtility/$ (inherited) a la ruta de búsqueda del encabezado es el negocio. –

33

seleccione el objetivo, abra el panel Configuración de compilación, busque "Macros de preprocesador". Deje los campos en blanco (me deshice de una entrada DEBUG)

+2

gracias por esto ... un poco cojo que tengo que eliminar mi macro de depuración sin embargo. –

+0

Gracias. Me salvaste la vida. – John

+0

Parece una mala solución con efectos de depuración potencialmente generalizados: agregar el archivo faltante sería correcto: https://developer.apple.com/library/content/samplecode/CoreAudioUtilityClasses/Listings/CoreAudio_PublicUtility_CADebugPrintf_h.html – beebcon

22

Utilicé la respuesta proporcionada por Justin y funcionó bien, hasta que instalé Xcode 4.3.1 y apareció el problema.

Actualmente he resuelto esto descargando CADebugPrintf.h y .cpp.

me encontré con los 2 archivos en este enlace:

http://svn.perian.org/trunk/CoreAudio/PublicUtility/

Saludos.

+1

Impresionante, gracias. Descargué estos archivos en la carpeta de iPublicUtility que ya estaba incluida en mi aplicación y los agregué al proyecto Xcode, y luego pude volver a crear la aplicación. Supongo que ya no necesitamos la configuración de compilación de Rutas de búsqueda de encabezado; si ese es el caso, esta es una solución más simple de todos modos. – arlomedia

+0

@justinkoh: Amigo ... hice lo mismo. Pero no funciona para mí. –

+0

Después de agregar los archivos a su proyecto, asegúrese de ir a Objetivos> Fases de compilación> Compilar fuentes, y asegúrese de que los 2 archivos estén en la lista. Si no, agrégalo, luego compila. – justinkoh

0

Estaba teniendo el mismo problema y la descarga de los archivos en la carpeta iPublicUtility no lo resolvió. La respuesta la encontré por casualidad mientras aprenden acerca de .MM archivos de extensión en esta página:

Objective C Project using C++ POSIX Classes

Retitulé mi archivo con una aplicación .mm y los errores de compilación desaparecieron. Espero que esto ayude a alguien en el futuro!

Cuestiones relacionadas