2013-03-20 10 views
29

chcę pracować z pewnymi ramami jak glew i cg więc ręcznie dodanenagłówki z dodatkiem ram na Xcode

potrzebnych ram do mojego projektu klikając prawym przyciskiem myszy projekt -> Dodaj pliki ...

i wybieranie prawidłowych ram. Problem polega na tym, że gdy próbuję dołączyć pliki nagłówkowe, Xcode nie może znaleźć żadnego z nich. Mam nadzieję, że ten obraz pomogą zrozumieć:

enter image description here

oraz:

enter image description here

Błąd podana jest dla ram glew, ale zdarza się na Cg.

Jak widać po lewej stronie, potrzebne ramy zostały dodane.

Każdy pomysł, w jaki sposób mogę dołączyć te nagłówki?

Po próbując ręcznie dodać pliki nagłówkowe mam błąd ARCHITEKTURA:

enter image description here

nie wiem, czy to jest to, jak powinna ona wyglądać. Dzięki!

+0

Miałem ten sam problem i naprawiłem go ustawiając, że musiałem ustawić "Ustawienia kompilacji -> Ścieżki szukania ramek" na '$ (SRCROOT)' (zakładając, że tworzysz frameworki w katalogu głównym twojego katalogu projektu). –

Odpowiedz

50

Przed rozpoczęciem należy usunąć szkielet i wszystkie dodane pliki, próbując je uruchomić.

Następnie należy dodać ramy w obiekcie Build Phases swojego celu. Następnie przejdź do Link Binary With Libraries i wybierz stację roboczą.

To powinno wystarczyć. Nagłówki powinny być dostępne jako automatyczne uzupełnianie po każdym #import directive. Jeśli to nie działa (czasami się zdarza), mogę wykonać dodatkowe czynności.

dodatkowe czynności:

przejdź do ustawień projektu, w ustawieniach produkcji:

  • Ukończ Framework Search Paths ze ścieżką swojego ramach
  • Zrób to samo z User Header Search Path

To powinno zadziałać. Jeśli nie, musisz dodać pełną ścieżkę do nagłówka w dyrektywie #import.Przykład:

#import "/path/to/my/header.h"


Apple dokumentacja available here stany:

  1. W nawigatorze projektu wybierz projekt
  2. Wybierz cel
  3. Wybierz 'Build fazami' kartę
  4. otwarty "Binaries powiązanie z bibliotek ekspandera
  5. Kliknij przycisk
  6. „+”Wybierz ramy
  7. (opcjonalnie) Przeciągnij i upuść dodaną ramy do grupy do„ram”
+0

@ Itzik984 Dodałem dodatkowe kroki. Czy twoje frameworki znajdują się w '/ Library/Frameworks'? – Jean

+0

są one pod "/ System/Library/Frameworks" jest w porządku? czy powinienem je tam przenieść? – Itzik984

+0

@ Itzik984 Myślę, że jest OK. Ale możesz potrzebować powiedzieć Xcode, w którym folderze znajdują się frameworki iw którym folderze znajdują się nagłówki. Ostatnio miałem podobny problem.Xcode nie skompilowałoby się z połączonymi ramami w/Library/Frameworks, jak kiedyś. W rzeczywistości nie mógł znaleźć nagłówków. Dodanie pełnej ścieżki w dyrektywie #import rozwiązało ją. Później dodałem folder do * Ścieżek wyszukiwania nagłówka użytkownika *, więc nie musiałbym korzystać z pełnej ścieżki. – Jean

3

Dla tych, których autouzupełnianie kończy się niepowodzeniem po dodaniu struktury.

Kiedyś dodawałem frameworki, przechodząc do Build Phases i wybierając opcję Link Binary with Libraries. Teraz w XCode 6.1, chociaż projekt budował dobrze, autouzupełnianie w XCode nie działało.

Więc co należy zrobić, to:

  1. Zdjąć już dodane ramy z Project Navigator a także z Link Binary with Libraries.
  2. Dodaj szkielet do projektu po prostu File ->Add Files to opcja w XCode.

A funkcja automatycznego uzupełniania zacznie działać.

+1

Próbuję dołączyć ramy, które sam zbudowałem. Z jakiegoś powodu dodanie go do projektu w fazie budowy link binarny z sekcją bibliotek nie działa, ale po prostu dodawanie struktury poprzez dodawanie plików do projektu działa DOES. Dziękuję Ci za to. (głosowanie) –

+0

DZIĘKUJĘ! To tylko rozwiązanie ... Zastanawiam się, dlaczego tak trudno jest robić tak oczywiste rzeczy ... – stepik21

5

w moim przypadku Dodałem Framework Search Paths dla Target, ale należałoby dodać do Project

enter image description here

także Always Search Users Path powinny być yes

2

W moim przypadku, ramy zewnętrznej zostały pobrane z Windows i dodane do projektu. Następnie został przeniesiony do OSX, gdzie został zbudowany projekt Xcode, a struktura zewnętrzna nie załadowała się poprawnie. Domyślam się, że to dlatego, że Windows zmienia folder szkieletu na zwykły folder, z którym potem ma problemy OSX.

Rozwiązaniem dla mnie było po prostu pobranie frameworka z OSX i przeciągnięcie go do folderu frameworka w projekcie XCode.

Powiązane problemy