2014-07-03 36 views
7

Sorunu sonuçsuz saatlerce bulmaya çalışıyorum. Xcode 6 güncellendi ve o zamandan beri hem ioS8.0 & 7.1 bu hatayı alıyorum: Yardımlarınız içinXcode 6'ya güncelledikten sonra: Mimariye ilişkin tanımlanmamış semboller armv7: "___gnu_f2h_ieee"

Undefined symbols for architecture armv7: 
    "___gnu_f2h_ieee", referenced from: 
     _playbackCallback in Audio.o 
ld: symbol(s) not found for architecture armv7 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

teşekkür ederiz.

DÜZENLEME (tam yapı günlüğü hatası):

Ld /Users/rjc/Library/Developer/Xcode/DerivedData/Acc-hjhfomxkmwbyxwbfzjbduabbhlcc/Build/Products/Debug-iphoneos/Acc.app/Acc normal armv7 
cd /Users/rjc/Desktop/apps/Acc 
export IPHONEOS_DEPLOYMENT_TARGET=7.1 
export PATH="/Applications/Xcode6-Beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode6-Beta2.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
/Applications/Xcode6-Beta2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7 -isysroot /Applications/Xcode6-Beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.0.sdk -L/Users/rjc/Library/Developer/Xcode/DerivedData/Acc-hjhfomxkmwbyxwbfzjbduabbhlcc/Build/Products/Debug-iphoneos -L/Users/rjc/Desktop/apps/Acc/Acc -F/Users/rjc/Library/Developer/Xcode/DerivedData/Acc-hjhfomxkmwbyxwbfzjbduabbhlcc/Build/Products/Debug-iphoneos -F/Users/rjc/Desktop/apps/Acc -filelist /Users/rjc/Library/Developer/Xcode/DerivedData/Acc-hjhfomxkmwbyxwbfzjbduabbhlcc/Build/Intermediates/Acc.build/Debug-iphoneos/Acc.build/Objects-normal/armv7/Acc.LinkFileList -dead_strip -ObjC -all_load -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=7.1 -lCorePlot-CocoaTouch -framework CoreTelephony -framework MediaPlayer -framework MessageUI -framework Social -framework Accelerate -framework CoreLocation -framework MobileCoreServices -framework AVFoundation -framework AudioToolbox -framework CoreAudio -framework QuartzCore -framework UIKit -framework Foundation -framework CoreGraphics -framework CoreData -Xlinker -dependency_info -Xlinker /Users/rjc/Library/Developer/Xcode/DerivedData/Acc-hjhfomxkmwbyxwbfzjbduabbhlcc/Build/Intermediates/Acc.build/Debug-iphoneos/Acc.build/Objects-normal/armv7/Acc_dependency_info.dat -o /Users/rjc/Library/Developer/Xcode/DerivedData/Acc-hjhfomxkmwbyxwbfzjbduabbhlcc/Build/Products/Debug-iphoneos/Acc.app/Acc 
+0

Hata günlüğünün tamamını yapıştırabilir misiniz? – Ricky

+0

@Ricky, geç cevap için üzgünüm. Sorumu düzenledim. Teşekkürler ! – jcr

cevap

1

Ben sorunu çözmek olamazdı ama kısmi çözüm var.
Birçok kayan nokta işlevi için armv7 dilim yok gibi görünüyor. Xcode 6'nın sonraki bir sürümüne (veya son sürümüne) dahil edileceğini varsayıyorum.

Bunun yerine armv7s dilim var: bir iPhone5 üzerinde hata ayıklaması yaptığım için bu ikinci yönerge kümesini kullandım, mimariyi yapı ayarlarından kaldırmak için

  1. Proje ayarlarınıza devam ederek projenizi seçin.
  2. Yapılandırma Ayarları'un altında, Mimarileri girişini bulun.
  3. Düzeltin, $(ARCHS_STANDARD)'u kaldırın ve armv7s ile değiştirin.
  4. jcr'nin belirttiği gibi, YES'dan NO'a Active Architecture Only seçeneğini değiştirmeniz gerekebilir.

Bu, oluşturulmasına ve çalıştırılmasına izin verir. Ne yazık ki test etmek için arm64 cihazım yok, ancak bu dilimin de dahil edilmesi mümkün olabilir.

+1

Teşekkürler ama benim için çalışmıyor. – jcr

+0

@jcr hangi hatayı alıyorsunuz? Aynısı? –

+0

Üzgünüm, cevabımı düzenliyordum. Active Architecture Only seçeneğini YES'ten NO'ya değiştirdim ve şimdi çalışıyor. Harika ! Teşekkür ederim. – jcr

2

Ayrıca çok benzer bir sorunla karşılaştım ve bunu buldum. Sorun çözüldü ve çok yardımcı oldu. http://helpdesk.metaio.com/questions/35905/undefined-symbols-for-architecture-i386-xcode-6-ios-8-beta-6/36538

Bir .c dosyası oluşturun (adim bir sorun değil, benim durumumda i386Symbols.c yaptım) ve projeye ekleyin. Sonra bunu yapıştırın.

// i386Symbols.c 
// Your project 
// 
// Created by Ludwig on 10/2/14. 
// Copyright (c) 2014. All rights reserved. 
// 

#include <stdio.h> 
#include <unistd.h> 
#include <string.h> 
#include <stdlib.h> 

FILE *fopen$UNIX2003(const char *filename, const char *mode) 
{ 
    return fopen(filename, mode); 
} 

int fputs$UNIX2003(const char *res1, FILE *res2){ 
    return fputs(res1,res2); 
} 

int nanosleep$UNIX2003(int val){ 
    return usleep(val); 
} 

char* strerror$UNIX2003(int errornum){ 
    return strerror(errornum); 
} 

double strtod$UNIX2003(const char *nptr, char **endptr){ 
    return strtod(nptr, endptr); 
} 

size_t fwrite$UNIX2003(const void *a, size_t b, size_t c, FILE *d) 
{ 
    return fwrite(a, b, c, d); 
} 
İlgili konular