2013-05-09 5 views
15

Non può compilare i sorgenti e scrive:iOS. Non è possibile eseguire un progetto dopo l'aggiornamento della libreria cocos2d all'interno di questo progetto

Undefined symbols for architecture i386:
"_CTFontManagerRegisterFontsForURL", referenced from: -[CCLabelTTF getFontName:] in CCLabelTTF.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

ma quando ho sostituire tutto il codice nel seguente funzione nel CCLabelTTF con "nil tornare":

- (NSString*) getFontName:(NSString*)fontName 
{ 
    // Custom .ttf file ? 
    if ([[fontName lowercaseString] hasSuffix:@".ttf"]) 
    { 
     // This is a file, register font with font manager 
     NSString* fontFile = [[CCFileUtils sharedFileUtils] fullPathForFilename:fontName]; 
     NSURL* fontURL = [NSURL fileURLWithPath:fontFile]; 
     CTFontManagerRegisterFontsForURL((CFURLRef)fontURL, kCTFontManagerScopeProcess, NULL); 

     return [[fontFile lastPathComponent] stringByDeletingPathExtension]; 
    } 

    return fontName; 
} 

quindi posso compilare il mio codice ma non posso usare le etichette.

Quindi come risolvere questo senza creare un nuovo progetto e copiarne tutte le sorgenti?

CURA

versione precedente viene 2.x, ora ho l'ultima versione RC2.

Ho eliminato tutti i file della vecchia libreria, copiato i file dalla nuova libreria nella cartella del progetto e li ho aggiunti al progetto tramite xcode. xcode può creare progetti con nuovi file di libreria, quindi li ho presi da questo nuovo progetto. Quindi ho apportato alcune modifiche per rimuovere gli avvisi.

+0

come hai eseguire l'aggiornamento? da quale versione a quale versione? – LearnCocos2D

+0

Ho modificato la mia domanda per rispondere alla tua – Gargo

risposta

42

risolto con l'importazione di CoreText.framework

Ma penso che creare un nuovo progetto, perché ho ancora qualche problema con l'identificazione delle dimensioni dello schermo iPhone5

Problemi correlati