Los archivos de origen de interés están en un recurso compartido de red alojado en una máquina Win7, pero los enlaces simbólicos se crean en esta Mac usando ln -sf
Estos son archivos .h, y a veces el compilador de C ++ no encuentra uno o más de ellos. Recibo un error como foo.h no se encuentra, cuando puedo verlo y leer el contenido (vinculado a) mediante el Finder.
Mi solución alternativa es copiar el archivo en lugar de un enlace simbólico. Luego encuentro que los otros archivos (enlaces simbólicos .h en el mismo directorio que se vinculan con archivos en el mismo directorio de origen; al igual que el "malo") no tienen problemas.
Los que estén afectados también variarán.
¿Alguna idea de qué podría estar causando esto? Comenzó cuando se actualizó Mac OSX a Mavericks, que tiene un código de red CIFS diferente. Todavía sucede con Yosemite.
Tenga en cuenta que el enlace simbólico funciona en Mac en general; Lo hago en esa Mac, e incluso cuando está teniendo el error en Xcode puedo ver el contenido del archivo resuelto como se esperaba en la vista Columnas en el Finder, o con cat
en el indicador de bash. Es solo un problema del compilador de Xcode.
Más detalles
Los archivos son parte de un "marco" y el enlace (ejemplo)
cd /Volumes/There/blah/blah2/blah3/blah3/CocoaPods/Pods/BuildHeaders/Cheeseburger
ln -sf ../../Cheeseburger/Burger/head1.h
⋮ a bunch of files in same path, head2.h, head3.h, etc.
cd ../../Headers/Cheeseburger
ln -sf ../../Cheeseburger/Burger/head1.h
⋮ etc.
Obtendré un error al encontrar head5.h, y los demás funcionarán bien.