總結(jié)一下 編譯常見的幾個錯誤:1.Undefined symbols for architecture x86_64
Xcode升級到5.1 新特性之一就是默認(rèn)讓所有App都通過64位編譯器編譯。原來在Xcode5.0.x的時候默認(rèn)的Standard architectures只有(arm7,armv7s),到5.1之后默認(rèn)就帶上arm64的參數(shù)了
現(xiàn)在有兩種解決辦法:
第一種解決辦法:
1.選中Targets—>Build Settings—>Architectures狭园。
把build active architectures only 改為 NO。
2.把最下面的Valid Architectures中的arm64參數(shù)刪掉就可以了
第二種解決辦法:
雙擊Architectures,選擇other膘婶,刪除(ARCHS_STANDARD_32_BIT))。
clean build 工程就完事了
還有個not found for architecture i386 出現(xiàn)這個問題多是靜態(tài)庫.a文件 第三方類庫不支持模擬器 用真機測試吧 真機是arm7的
查看支持方法:
檢查你的第三方庫文件悬襟,找到你的庫文件所在地址衅码,使用命令行,cd到該文件所在文件夾下脊岳,然后檢測:使用如下命令lipo -info <這里填寫你的第三方庫文件名> ,逝段,然后看看你的東西支不支持i386,如果不支持,沒關(guān)系這不是什么大事割捅,只是不支持模擬器而已奶躯,看看你的東西支不支持armv7,arm64,如果支持那就好辦亿驾,用真機開發(fā)就OK了如果還不支持嘹黔,告訴你的服務(wù)商,趕緊提供編譯器支持的版本
ld: warning: ignoring file /Users/zhangdream/Downloads/SmarterStreaming-master/SourceCode/IOS/SmartiOSPublisher/SmartiOSPublisher/libs/libSmartPublisherSDK.a, missing required architecture i386 in file /Users/zhangdream/Downloads/SmarterStreaming-master/SourceCode/IOS/SmartiOSPublisher/SmartiOSPublisher/libs/libSmartPublisherSDK.a (2 slices)
Undefined symbols for architecture i386:
"OBJC_CLASS$_SmartPublisherSDK", referenced from:
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
像這樣 就是模擬器不支持虛擬機 換真機測試