2011-04-13 8 views
9

Estoy tratando de portar un proyecto que inicialmente escribí en Windows para OS X y tengo algunas dificultades con las rutas de búsqueda de encabezado.XCode 4 Relativo #include rutas en la búsqueda?

He utilizado las rutas de búsqueda del usuario para incluir por carpeta de origen "project/src/core/" Bajo núcleo, tengo, por ejemplo: "projects/src/core/sys/sys_sdl.h" que trata de incluir "projects/src/core/render/opengl_render.h" con la directiva:

#include "render/opengl_render.h" 

I' He probado toneladas de opciones diferentes, pero no puedo conseguir que Xcode encuentre el archivo a menos que lo cambie a "../render/opengl_render.h"

¿Hay algo? Me falta aquí en la configuración para que reconozca las rutas relativas a las rutas de búsqueda del encabezado.

+0

Y esta solución relativa falla si usted tiene un encabezado en otra carpeta (digamos proyectos/gui/...) porque la ruta relativa es incorrecta allí. :-( – Kay

Respuesta

5

¿Intentó configurar la ruta de búsqueda del encabezado del usuario al $SRCROOT/..? $ SRCROOT es el directorio que contiene los archivos fuente del objetivo, por lo que $ SRCROOT/.. debería ser el directorio anterior, que creo que es lo que desea.

Una cuestión relacionada (How do I print a list of "Build Settings" in Xcode project?) muestra un comando útil que hace que sea fácil de ver todos los valores de creación y las variables que modifican:

$ xcodebuild -project myProj.xcodeproj -target "myTarg" -showBuildSettings 
+0

¿Cómo diablos sabría esto? ¿Por qué no solo tienen un menú emergente que tiene todos los comodines posibles? ¿Y cómo es esto diferente de hacer $ (PROYECTO) – CommaToast

+0

Creo que PROJECT es solo el nombre del proyecto en sí, mientras que SRCROOT es la ruta a los archivos fuente del objetivo. En cuanto a por qué no hay una ventana emergente, es probable que sea una combinación de preservar la flexibilidad (debe poder especificar cualquier ruta) y no agregar el valor suficiente para haz que sea una prioridad. Además, mira mi edición anterior. – Caleb