Statik bir kütüphane yapıyorum. Yapılandırma ayarları, $(ARCHS_STANDARD)
olarak ayarlanan Mimariler ayarını Standard Architectures (armv7, armv7s, arm64)
olarak gösterir ve IOS Cihazını seçip sonra simülatörü (örneğin iPhone Retina) kullanırım. Ben iki adet olması ŞimdiXcode - symbol (s) mimari için bulunamadı x86_64 (iOS Lib)
, ben kümelenmiş lib oluşturmak için lipo -create
kullanmak Debug-iphoneos
içeride ve içeride Debug-iphonesimulator
diğer (oluşturur: Ben herhangi bir iOS cihazında taklit etmek başka bir projede bu kütüphaneyi kullandıysanız
lipo -create path/to/first/lib /path/to/second/lib -o MyLib.a
64-bit mimarisi ile, symbol(s) not found for architecture x86_64
veriyor. Lib projesinin kendisi, lib'i kullanan başka bir projeyle birlikte bir çalışma alanının içinde olduğumdan ötürü beni çok kızdırıyor. 64-bit iOS simulatöründe simüle edebilirim (tüm simülatörlerde ve cihazlarda) Ne yapıyorum ?: Neyi yanlış yapıyorum? 10 Notlar: (bu aptal sorunu çözmek için çalışıyor benim ikinci gün olduğundan)
- Bunun anlamı beni suçlayarak önce S. çoğaltmak değil, ben Yığın ve Google'da arama yaptı. Bütün cevaplar yardımcı olmuyor.
- Xcode 5.1.1 kullanıyorum.
Eğer OS veya Xcode ile gelir lipo kullanıyorsunuz? Xcode'ları kullanmak için "xcrun -sdk iphoneos lipo [daha önce olduğu gibi argümanlar]" komutunu çalıştırın. Belki bu yardımcı olacaktır. – James
Dürüst olmak gerekirse, sorunuzla kafam karıştı, ancak kontrol edilmesi gereken iki şey var: İlk önce "Yapılandırılmamış Mimariler Oluştur" seçeneğinin Evet veya Hayır olarak ayarlanıp ayarlanmadığını görmelisiniz. Evet olarak ayarlanmışsa, o zaman sadece bu cihaz için oluşturuluyor . Eğer HAYIR'ı seçerseniz, herşeyi 3 yapar. İkincisi, Terminal'den "MyLib.a" dosyasını yazabilirim ve size hangi statiklerin sizin statik statik lib'inizde olduğunu söyleyeceğim. – cjserio
"i386 x86_64" seçeneğinin, hedefiniz için "VAILD_ARCHS" oluşturma ayarları altında "arm7 arm7s arm64" ile birlikte listelendiğinden emin olun. – gagarwal