2009-09-02 14 views
6

Utworzyłem bibliotekę statyczną w XCode, która wymaga kilku bibliotek dynamicznych (np. Libsqlite3.0.dylib). Mogę utworzyć aplikację, która jest zależna od mojej statycznej biblioteki przy użyciu odwołań między projektami w XCode, ale wydaje mi się, że muszę ręcznie dodać wszystkie wymagane dynamiczne biblioteki do każdego z moich projektów aplikacji, aby uzyskać połączenie.Czy biblioteka statyczna XCode może wymagać powiązania z biblioteką dynamiczną?

Czy istnieje sposób na skonfigurowanie projektu biblioteki statycznej w XCode, aby aplikacje zależne automatycznie łączyły się z dowolnymi bibliotekami dynamicznymi, których wymaga?

Próbowałem dodać dynamiczne biblioteki do listy frameworków w projekcie mojej biblioteki statycznej, ale wydawało się, że nie przyniosło to żadnego efektu.

Odpowiedz

2

Tak - będziesz musiał dodać biblioteki do aplikacji. Biblioteka statyczna - a .a - jest po prostu archiwum plików .o z minimalną rozdzielczością symboli wewnętrznych. Pełna rozdzielczość symbolu nie ma miejsca, dopóki nie zostanie połączona z aplikacją (lub ramą).

(Używasz sqlite3 bezpośrednio? Jeśli tak, to dlaczego nie korzystać z danych Core? Istnieją powody, ale nie tak często jak ludzie coś ...)

+0

Dzięki. Wiem, że plik .a nie zawiera żadnych informacji o tym, jakich bibliotek dynamicznych potrzebuje, ale miałem nadzieję, że w .xcodeproj może być coś, co mogłoby przekazać te informacje do zależnego pliku .xcodeproj, który go odwołuje. Wydaje się to teoretycznie możliwe, ale być może jest to tylko pobożne życzenie. Używam programu sqlite3, ponieważ niektóre z moich aplikacji muszą działać w systemie OS 2.2.1. – cduhn

+0

(CD: ma sens, choć zastanawiam się, ilu z pozostałych 2.2.1 użytkowników jest aktywnymi nabywcami aplikacji) Żadnych, które znam w Xcode, aby to zrobić. Możesz być w stanie użyć pliku xcconfig - pliku konfiguracyjnego kompilacji - a następnie udostępnić go pomiędzy projektami. Dokumentacja może pomóc. – bbum

Powiązane problemy