2009-08-18 10 views
5

Mam problem z uzyskaniem kodu XCode do obsługi konkretnej struktury plików, której używam lub której chcę użyć.Kod X zawiera ścieżki

Mam zestaw plików w następującej formie ...

 

Library 
    Headers 
     Library 
     Package1 
      Header1.h 
      Header2.h 
      HeaderN.h 
     Package2 
      Header1.h 
      Header2.h 
      HeaderN.h 
     PackageN 
      Header1.h 
      Header2.h 
      HeaderN.h 
    Source 
     Package1 
     Source1.m 
     Source2.m 
     SourceN.m 
     Package2 
     Source1.m 
     Source2.m 
     SourceN.m 
     Package3 
     Source1.m 
     Source2.m 
     SourceN.m 

include modelu chcę dla kodu poza tym biblioteka jest ...

#import "Library/Package/Header.h" 

chcę podkreślić XCode w Library/Headers, ale nie w folderach wewnętrznych. Kiedy dodaję to drzewo do projektu, XCode wydaje się domyślnie zawierać ścieżki do każdego węzła w drzewie.

kod

Klient w ramach projektu, ale poza tym drzewie może to zrobić ...

#import "Header.h" 

zamiast ...

#import "Library/Package/Header.h" 

I nie wydają się znaleźć sposób, aby Zablokowanie możliwości pisania formularz niekwalifikowany.

Każda pomoc zostanie doceniona.

Dzięki, -Roman

Odpowiedz

1

Jeśli to nagłówki w plikach w projekcie następnie XCode zawsze znajdzie je bez kwalifikacji Ścieżka, jak odkryliśmy. Najlepszym rozwiązaniem jest usunięcie nagłówków z projektu i określenie "Biblioteki/nagłówków" jako ścieżki wyszukiwania nagłówków w ustawieniach projektu. Nagłówki nie pojawią się w twoim projekcie, ale nie będą również domyślnie znalezione przez XCode podczas kompilacji; kod klienta będzie musiał określić pełną ścieżkę off "Library/Headers", aby dostać się do żądanego pliku nagłówkowego.

+0

Rozumiem. To wstyd, gdy tworzę bibliotekę i aplikację jednocześnie. Sądzę, że zawsze mógłbym to przerobić na własny projekt. Próbowałem utworzyć cel biblioteki w ramach tego samego projektu, ale to też nie zmienia niejawnych ścieżek. –

+4

Stwierdziłem, że istnieje sposób na umieszczenie nagłówków w projekcie w celu ułatwienia edycji, ale nie można ich znaleźć w projekcie. Wystarczy zaimportować nagłówki jako odniesienia do folderów (niebieski zamiast żółtego w xcode). –

+0

+1 użyteczne; dzięki! – fbrereto

6

Występujesz przeciwko zachowaniom Xcode, które budują płaską głowę. Możesz wyłączyć to, dodając ustawienie kompilacji:

HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT=NO 

do ustawień projektu.

Powiązane problemy