Undefined symbols for architecture armv7 while int

2020-02-12 04:00发布

问题:

I integrating my app with speechkit of naunce dragon mobile when run i am below error:

Undefined symbols for architecture armv7:
  "_kCFStreamPropertySSLPeerCertificates", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
      l642 in SpeechKit(libSpeechKit.a-armv7-master.o)
      l643 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_kCFStreamSSLValidatesCertificateChain", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_kCFStreamSSLAllowsAnyRoot", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_OBJC_CLASS_$_AVAudioPlayer", referenced from:
      objc-class-ref in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_kCFStreamSSLPeerName", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_kCFStreamSSLAllowsExpiredRoots", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_kCFStreamSSLAllowsExpiredCertificates", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_SecCertificateCopySubjectSummary", referenced from:
      l642 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_SecCertificateCopyData", referenced from:
      l643 in SpeechKit(libSpeechKit.a-armv7-master.o)
  "_kCFStreamPropertySSLSettings", referenced from:
      l469 in SpeechKit(libSpeechKit.a-armv7-master.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Please suggest me to sort out this error

回答1:

It seems you haven't added CFNetwork.Framework, SystemConfiguration.Framework and Security.Framework to your project. Add them in Xcode at the "libraries to link" section, and everything should be fine.



回答2:

Sorry for the late reply. I just solved this issue myself.

H2C03 is close, but it's actually CFNetwork.Framework and Security.framework that you need.

It's unfortunate the Speech Kit Basics walkthrough in the Dragon docs only shows that you need UIKit.framework, Foundation.framework, CoreGraphics.framework, AudioToolbox.framework, SystemConfiguration.framework, and SpeechKit.framework. It's a little misleading.

If you open up the DragonMobileRecognizer sample project you can compare the frameworks it uses to yours and see what you're missing.