ARMv6 gerekli mimari eksik Xcode4, gcc ilk sysroot dizinine ötesine ulaşmak için görünmüyor, iPhone OS için bir kukla programı derlemeye çalışırken olarak
$ echo $ISYSROOT
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
$ gcc -arch armv6 --sysroot=$ISYSROOT test.cpp
ld: in /usr/lib/system/libcache.dylib, missing required architecture armv6 in file for architecture armv6
collect2: ld returned 1 exit status
ise Ben sysroot,
Aşağıdaki işler çalışır, ancak çok sevecen ve ölçeklenebilir değil. Burada neler oluyor?
$ gcc -arch armv6 -L$ISYSROOT/usr/lib/system --sysroot=$ISYSROOT test.cpp
Güncelleme. Hala belli değil gerçi Görünüşe göre bu bu hata “ld görürseniz,
http://www.doitscared.com/?m=201104 kütüphane derlerken ld için gcc ama isysroot için sistemkökü geçmesine nasıl bilinen bir sorundur: değil dosya Bulunan: /usr/lib/system/libcache.dylib mimarisi için armv7 ″, o zaman sizin linker komutu, Xcode 4'te çalışmayan “–sysroot” kullanmaktadır. Bunun yerine “-isysroot kullanmak için linker komutunu değiştirin. ”. (Not: Bu yalnızca bağlayıcı komutu için geçerlidir derleme komutları “-sysroot” kullanmaya devam etmelidir fazla bilgi için buraya bakınız...)
Teşekkürler! $ gcc -arch armv6 -L $ ISYSROOT/usr/lib/system --sysroot = $ ISYSROOT test.cpp bana yardımcı oldu! –