2012-07-15 10 views
9

que la integración de mi aplicación con SpeechKit de naunce móvil dragón cuando se ejecuta YO SOY debajo de error:símbolos no definidos para la arquitectura ARMv7 mientras que integran SpeechKit de dragón matiz móvil

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) 

Por favor, me sugieren para solucionar este error

Respuesta

48

Parece que no ha agregado CFNetwork.Framework, SystemConfiguration.Framework y Security.Framework a su proyecto. Agréguelos en Xcode en la sección "bibliotecas para vincular", y todo debería estar bien.

+0

¿Cómo lo supo? – Huey

+10

@Huey Soy un mago :) Simple: 'symbols not found' es un error del enlazador - significa que después de la compilación de los archivos fuente individuales, los archivos de objetos resultantes no pueden vincularse en un ejecutable completo, porque hay son funciones que faltan. Estas funciones están en los marcos. Al conocer los prefijos de los marcos más comunes de memoria (CoreFoundation - CF, Security - Sec, etc.) es fácil decir lo que es necesario hacer. –

+4

Tropezado con esto cuando AFNetworking cocoapod no se compilaría, tuvo que agregar Security.framework. buena respuesta. –

6

Perdón por la respuesta tardía. Acabo de resolver este problema yo mismo.

H2C03 está cerca, pero en realidad es CFNetwork.Framework y Security.framework lo que necesita.

Desafortunadamente, el tutorial básico de Speech Kit en los documentos de Dragon solo muestra que necesita UIKit.framework, Foundation.framework, CoreGraphics.framework, AudioToolbox.framework, SystemConfiguration.framework y SpeechKit.framework. Es un poco engañoso.

Si abre el proyecto de muestra DragonMobileRecognizer, puede comparar los marcos que utiliza con los suyos y ver lo que se está perdiendo.

DragonMobileRecognizer Sample Project Frameworks

Cuestiones relacionadas