Niektóre tła - I został zbudowany przy użyciu niestandardowego Framework przewodnik Diney pod adresem http://db-in.com/blog/2011/07/universal-framework-iphone-ios-2-0/ld: powielić symbol _objc_retainedObject na iOS 4.3, ale nie na iOS 5.0
wbudowanym zarówno armv6/ARMv7, jego o ARC- w oparciu o cel depolty 4,3.
Kiedy umieszczam wynikowy framework w projekcie 5.0, działa on świetnie, ale kiedy umieszczam go w projekcie 4.3 (ARC lub non-arc, nie ma znaczenia), otrzymuję następujące rzeczy, których naprawdę nie rozumiem. ..
Próbowałem również ręcznie dodać libarclite.a, ale nic to nie zmieniło.
ld: duplikat symbol _objc_retainedObject w /Users/freak4pc/Project/MyFramework.framework/MyFramework i /Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/arc/libarclite_iphoneos.a(arclite.o) dla architektury ARMv7 poleceń /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang nie powiodło się z kodem wyjścia 1
Czy wdzięczni za każdą pomoc w tej sprawie.
Dzięki
Shai
Dlaczego nie po prostu zbudować statyczną bibliotekę tak, jak wszyscy inni na iOS? Podejście, z którym się łączysz, wydaje się być czymś w rodzaju hackowania, więc nie dziwię się, że może nie działać zgodnie z zamierzeniami. –
Uhm właśnie dostałem sugestię, że biblioteki statyczne nie są tak elastyczne. Czy mógłbyś powiązać mnie z pewnymi zasobami na ten temat? –
Nie jestem pewien, co oznaczałoby "mniej elastyczne" w tym przypadku. Jeśli masz kod swojej biblioteki, różnica między używaniem statycznej biblioteki a strukturą jest niewielka. Jeśli rozpowszechniasz prekompilowaną bibliotekę, wszystko, co musisz zrobić, to upewnić się, że nagłówki są również dostępne. Na przykład zobacz bibliotekę plot plot: http://code.google.com/p/core-plot/, która wykorzystuje framework dla Mac i bibliotekę statyczną dla iOS. Nie przypominam sobie, że trudno jest tam skompilować kompilację biblioteki statycznej. –