Pregunta

He usado Clint Harris tutorial para configurar el uso compartido del código entre proyectos, y todo funciona como se esperaba en mi equipo.Pero en mi compañero de trabajo de la máquina, parece que el compilador no encuentra el archivo de encabezado de la biblioteca estática proyecto cuando él construye.

Mi compañero de trabajo tiene mi proyecto por clonación de un repositorio de git.Hemos pasado a través de todos los marcadores de compilación y XCode configuración de n veces, pero el proyecto simplemente se niega a compilar en su máquina.

Esto es lo que yo le pregunté a mi compañero de trabajo para hacer, sobre todo copiado y pegado desde el tutorial:

  1. Asegúrese de que no hay NINGÚN espacio en blanco en la ruta de acceso completa de los proyectos de directorio.
  2. Dentro del directorio de proyectos, crear otra carpeta que se llama "build_output".
  3. En XCode, en "XCode" > "Preferencias" elegir el "Edificio" de la ficha y en "Lugar de Construir Proyectos" a "ubicación Personalizada" y especifique la ruta de acceso para el común de construir directorio creado.
  4. Establecer el "Lugar Intermedio Crear Archivos en" a "Con la construcción de los productos."
  5. La elección de la "Fuente de los Árboles" ficha y crear un nuevo Árbol de código Fuente variable haciendo clic en el botón "+" y el llenado de las columnas.Tanto en la "Configuración de Nombre" y "Nombre para Mostrar", puesto [el nombre del proyecto compartido que creó la biblioteca estática].En la ruta de acceso, escriba la ruta completa a la carpeta framework.

Siguiendo estos pasos, el proyecto que utiliza la biblioteca estática debe compilar el mismo en su equipo como en la mía.Pero no es así.Básicamente, el error que obtiene es:

error: TheFrameworkHeader.h: No such file or directory

y, a continuación, una serie de otros errores causados por la falta de encabezado.

Las estrategias para la resolución de problemas de este tipo?O alguien que había tenido una experiencia similar y podría compartir algunos duramente el conocimiento?Es algo que falta a partir de las instrucciones que he resumido?Qué necesito para establecer las funciones de los encabezados en la Copia de los Encabezados de la fase de construcción al compilar una biblioteca estática?

¿Fue útil?

Solución

A pesar de algunos consejos útiles, yo nunca pensé en esto, pero he aquí un poco de información para cualquier persona en una situación similar.He creado la biblioteca y dependiente de proyecto mediante la división de un proyecto original en dos.En primer lugar, la biblioteca y la aplicación fueron dos de los objetivos dentro de un mismo proyecto.Después, me mudé a la aplicación de un proyecto independiente.Todo parecía funcionar, y me empujó a ambos proyectos remotos de repositorios git.Cuando estos fueron clonados en otros equipos, sin embargo, la biblioteca de encabezados no se encontraron.

Más tarde, descubrí que el mismo error se produjo cuando yo clonado los proyectos en el equipo original.Después de mucha lucha, he colocado abajo a un miedo detalle: el nombre de los dependientes de la carpeta del proyecto! (Es decir, el proyecto con la aplicación, no en la biblioteca.) No se el nombre de el .xcodeproject paquete, no el identificador de aplicación, pero el nombre de la la carpeta que lo contiene.Tan pronto como me cambio de eso, todo funciona.Si puedo cambiar el nombre original (en cualquier equipo), de nuevo los encabezados que no se encuentran.

Si alguien tiene alguna idea sobre esto, por favor enviar una respuesta!

EDITAR:Desde que he publicado esto, el mismo problema se produjo con otro proyecto, y de nuevo, simplemente cambiar el nombre de la carpeta que la contiene .xcodeproject carpeta se ha solucionado el problema.

Otros consejos

No creo que es Git, creo que es xcode.Tengo una muy similar problema aquí, donde xcode / xcodebuild resuelve una ruta de inclusión falsamente (lo que es un simple .) Con el exactamente el mismo proyecto de la biblioteca y xcconfig archivos (limpieza de checkout desde el svn repo) pero otra carpeta que lo contiene - funciona.Así que, gracias por la solución y no culpe a Git nunca más ;-)

A menudo me olvide de comprobar esto:¿estás seguro de que el archivo que falta (es decir, TheFrameWorkHeader.h" está en el repositorio de git?Bien puede ser que la construcción de la configuración es correcta, pero el archivo de alguna manera, no se han agregado a git correctamente.

Si usted está teniendo problemas para la construcción de una máquina en particular, entonces el problema probablemente es una máquina o de la configuración de usuario.Como un variable de entorno (tal vez INCLUDE_PATH o uno de sus parientes-XCode usa GCC).Usted puede tener un "." en una de estas variables.

La mejor forma de solucionar esto sería añadir el ruta de la carpeta a la I-cambiar en el script de compilación.

Verifique que las "Rutas de Búsqueda->Encabezado de Usuario Rutas de Búsqueda de" construir configuración (para todas las configuraciones) puntos para el directorio que contiene el compartidas proyecto de Xcode (puede utilizar la nueva Fuente Árbol de la variable creada).

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