I file sorgente di interesse sono su una condivisione di rete ospitata su una macchina Win7, ma i collegamenti simbolici sono creati su questo Mac usando ln -sf
Questi sono file .h, e a volte uno o più di essi non vengono trovati dal compilatore C ++. Ottengo un errore come foo.h non trovato, quando posso vederlo e leggere il contenuto (collegato a) usando il Finder.
La mia soluzione è copiare il file anziché link simbolici ad esso. Poi trovo che gli altri file (file .link symlink nella stessa directory che si collegano a file nella stessa directory sorgente, proprio come quelli "cattivi") non hanno problemi.
Anche le persone interessate sono diverse.
Qualche idea su cosa potrebbe causare questo? È iniziato quando si aggiorna Mac OSX a Mavericks, che ha un diverso codice di rete CIFS. Succede ancora con Yosemite.
Nota che il link simbolico funziona sul Mac in generale; Lo faccio su quel Mac, e anche quando si verifica l'errore in Xcode posso vedere il contenuto del file risolto come previsto nella vista Colonne nel Finder o con cat
nel prompt di bash. È solo il problema del compilatore di Xcode.
Altri dettagli
I file fanno parte di un "framework" e del link (esempio)
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.
Avrò un errore nel trovare head5.h, e gli altri funzioneranno correttamente.