0

我查看了一个较旧的 iOS 项目,我有一段时间没有做任何事情,我需要更新扫描仪的 SDK,使其为 64 位。我将扫描仪套件的文件(拖放)添加到项目中,但现在当我构建时,我收到错误 undefined symbols for architecture armv7

它指的是arm64,但我尝试了几件事,现在它指的是armv7(设置其他链接器标志并编辑基本构建设置)。

我的构建设置是: 架构:标准 Base SDK 8.4 仅构建活动架构:否 有效架构:armv7 armv7s arm64

建筑的输出是:

ld /Users/meetingroom/Library/Developer/Xcode/DerivedData/xxx-apetpmawlnpfonginyycjwqagzuc/Build/Intermediates/xxx.build/Debug-iphoneos/xxx.build/Objects-normal/armv7/xxxx normal armv7 cd "/Users/meetingroom/ Documents/iOS Projects/xxx Project/xxx iOS8" export IPHONEOS_DEPLOYMENT_TARGET=8.0 export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents /Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4。sdk -L/Users/meetingroom/Library/Developer/Xcode/DerivedData/xxx-apetpmawlnpfonginyycjwqagzuc/Build/Products/Debug-iphoneos -L/Users/meetingroom/Documents/iOS\Projects/xxx\Project/xxx\iOS8/xxx/ ScanAPI/lib -F/Users/meetingroom/Library/Developer/Xcode/DerivedData/xxx-apetpmawlnpfonginyycjwqagzuc/Build/Products/Debug-iphoneos -filelist/Users/meetingroom/Library/Developer/Xcode/DerivedData/xxx-apetpmawlnpfonginyycjwqagzuc/Build/中间件/xxx.build/Debug-iphoneos/xxx.build/Objects-normal/armv7/xxx.LinkFileList -dead_strip -fobjc-arc -fobjc-link-runtime -stdlib=libc++ -miphoneos-version-min=8.0 -framework AudioToolbox -框架外部附件-lsqlite3。0 -framework UIKit -framework Foundation -framework CoreGraphics -lScanApi -Xlinker -dependency_info -Xlinker /Users/meetingroom/Library/Developer/Xcode/DerivedData/xxx-apetpmawlnpfonginyycjwqagzuc/Build/Intermediates/xxx.build/Debug-iphoneos/xxx.build /Objects-normal/armv7/xxx_dependency_info.dat -o /Users/meetingroom/Library/Developer/Xcode/DerivedData/xxx-apetpmawlnpfonginyycjwqagzuc/Build/Intermediates/xxx.build/Debug-iphoneos/xxxx.build/Objects-normal/armv7 /xxx

架构 armv7 的未定义符号:“_AVMetadataObjectTypeUPCECode”,引用自:-[SoftScanController initWithDeviceObject:] in libScanApi.a(SoftScanController.o) “_AVMetadataObjectTypeEAN8Code”,引用自:-[SoftScanController initWithDeviceObject:] in libScanApi.a(SoftScanController.o) "_AVMetadataObjectTypeCode93Code",引用自:-[SoftScanController initWithDeviceObject:] in libScanApi.a(SoftScanController.o) "_AVMediaTypeVideo",引用自:-[SoftScan initWithDelegate:] in libScanApi.a(SoftScanController.o) "_AVMetadataObjectTypeAztecCode",引用自: -[SoftScanController initWithDeviceObject:] in libScanApi.a(SoftScanController.o) "_AVMetadataObjectTypeEAN13Code",引用自:-[SoftScanController initWithDeviceObject:] in libScanApi.a(SoftScanController.o) "_AVLayerVideoGravityResizeAspectFill",引用自:-[SoftScan start:] in libScanApi.a(SoftScanController.o) "_OBJC_CLASS_$_AVCaptureVideoPreviewLayer",引用自:objc-class- ref in libScanApi.a(SoftScanController.o) "_AVMetadataObjectTypePDF417Code",引用自:-[SoftScanController initWithDeviceObject:] in libScanApi.a(SoftScanController.o) "_OBJC_CLASS_$_AVCaptureSession",引用自:objc-class-ref in libScanApi.a (SoftScanController.o) "_AVMetadataObjectTypeCode39Code",引用自:-[SoftScanController initWithDeviceObject:] in libScanApi.a(SoftScanController.o) "_AVMetadataObjectTypeCode128Code",引用自:-[SoftScanController initWithDeviceObject:] in libScanApi.a(SoftScanController.o) "_AVMetadataObjectTypeQRCode",引用自: -[SoftScanController initWithDeviceObject:] in libScanApi.a(SoftScanController.o) "_OBJC_CLASS_$_AVCaptureMetadataOutput",引用自:objc-class- ref in libScanApi.a(SoftScanController.o) "_AVMetadataObjectTypeCode39Mod43Code",引用自:-[SoftScanController initWithDeviceObject:] in libScanApi.a(SoftScanController.o) "_OBJC_CLASS_$_AVCaptureDeviceInput",引用自:objc-class-ref in libScanApi.a (SoftScanController.o)“_OBJC_CLASS_$_AVCaptureDevice”,引用自:libScanApi.a(SoftScanController.o)中的 objc-class-ref:未找到架构 armv7 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

唯一的错误与 SDK 有关,但我确认我已经安装了 64 位版本。提前致谢

4

1 回答 1

0

我不确定我是如何将这个问题发布两次的,但在这里得到了回答(XCode-undefined symbols for architecture armv7 arm64)。简而言之,我没有在我的项目中链接 AVFoundation。

于 2015-11-19T02:33:57.083 回答