2009-08-28 21 views
13

Pracuję z istniejącym projektem, który tworzy bibliotekę dynamiczną (API Cocoa).Jak zmienić istniejący cel Xcode z dynamicznego na statyczny?

wolałbym wygenerować statyczną bibliotekę, ale jeśli mogę zmienić [linkami | Mach-O Type] pole z "biblioteki dynamicznej" do "Static Library", zarówno Clean Projektu i Build Project skarżą się, że target ma nieprawidłową wartość MACH_O_TYPE wartości 'staticlib'.

Czy istnieje prosty sposób na uzyskanie kompilacji w celu utworzenia statycznego pliku .a?

Dzięki
Eric

Odpowiedz

4

skończyło się tworząc nowy projekt 'biblioteka statyczna', a następnie dodaniu wszystkich członków. Zamknięcie xcode i wyświetlenie dwóch plików projektu w pozwoliło mi szybko ukończyć nowy projekt.

+2

Niestety, to poprawne rozwiązanie. Obecnie nie ma możliwości zamiany celu z jednego typu celu na inny. – cdespinosa

20

Otwiera project.pbxproj plik w YourProjectName.xcodeproj folderu za pomocą TextEdit, szukaj Producttype i zmienić jego wartość z "com.apple.product-dynamicznej" do "com.apple .product-static "

+9

w moim przypadku jest to ** com.apple.product-type.library.dynamic **, który zostanie zmieniony na ** com.apple.product-type.library.static **. Być może jest to inna wersja kodu Xcode, proponuję utworzyć nowy projekt statycznej biblioteki lib i skopiować productType z tego miejsca. – pqnet

+0

Dla Xcode 9: biblioteka statyczna to 'com.apple.product-type.library.static', biblioteka dynamiczna to' com.apple .product-type.library.dynamic', framework to 'com.apple.product-type.framework', ogólny pakiet to' com.apple.product-type.bundle', pakiet testów jednostkowych to 'com.apple.product- type.bundle.unit-test', aplikacja to 'com.apple.product-type.application', a narzędziem wiersza polecenia jest' com.apple.product-type.tool'. Jest ich o wiele więcej, ale te są zdecydowanie najczęstsze – ThatsJustCheesy

Powiązane problemy