2011-08-24 11 views
5

Gdy używam $(BUILT_PRODUCTS_DIR) w User Header Search Path (jak zaleca this tutorialu o bibliotek statycznych) XCode 4 rozwiązuje to tak:

enter image description here

Jest to problem, podczas gdy Pracuję z symulatorem, ponieważ pliki kompilacji są przechowywane w Debug-iphonesimulator zamiast Debug-iphoneos, a XCode nie znajduje nagłówków.

Moje bieżące obejście jest budowane jako pierwsze dla urządzenia iOS, a następnie można pracować z symulatorem. Jest to nieco uciążliwe i podatne na błędy. Co ja robię źle?

Odpowiedz

6

Katalog produktów do kompilacji powinien być używany do wyprowadzania przez Xcode i jest całkowicie uzasadnione, że katalogi te nie istnieją w momencie, gdy zaczynasz budować. Nie jest wskazane posiadanie takich zależności, jak nagłówki użytkowników w tych katalogach.

Moja rekomendacja to przeniesienie zależnych nagłówków z katalogu, o którym mówisz.

+0

Następnie, w jaki sposób zaleca się pracę z plikami nagłówkowymi statycznej biblioteki projektów w tym samym obszarze roboczym? – hpique

+0

Czy to nie jest w porządku, jeśli dodasz cel innego projektu jako bezpośrednią zależność? –

+0

Dla _headers_ pozostawiłbym je tak jak jest w ich projekcie i odsyłam do nich bezpośrednio stamtąd - to usunie wymaganie, abyś zbudował bibliotekę zależną, zanim będziesz mógł skompilować wszystko w aplikacji klienckiej, która może z niego korzystać. Jeśli chcesz, możesz podzielić nagłówki, które są "publiczne" od tych, które są "prywatne" w swoich własnych katalogach, a twoja aplikacja wyszuka tylko nagłówki w folderze publicznym. – fbrereto

1

Miałem ten sam problem. Naprawiłem to, wykonując następujące czynności. Zamiast ustawiać ścieżki wyszukiwania nagłówka użytkownika na $(BUILT_PRODUCTS_DIR)rekursywną, ustawiam jawnie na $(BUILT_PRODUCTS_DIR)/usr/local/includenierekursywną.

+0

Co dokładnie to robi? Kiedy użyję tego, nie znajdę żadnej innej rzeczy z biblioteki. Ale jeśli po prostu użyję '$ {BUILT_PRODUCTS_DIR}', wówczas napotkam problemy używając pliku wewnętrznie i zewnętrznie. –

Powiązane problemy