2013-05-09 17 views
15

Nie można skompilować źródła i pisze:iOS. Nie można uruchomić projekt po aktualizacji Cocos2d bibliotekę wewnątrz tego projektu

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)

ale kiedy wymienić cały kod w następującej funkcji w CCLabelTTF z „powrót nil”:

- (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; 
} 

następnie mogę skompilować mój kod, ale nie mogę używać etykiet.

Jak rozwiązać ten problem bez tworzenia nowego projektu i kopiowania wszystkich źródeł do niego?

EDITED

poprzedniej wersji 2.x, teraz mam ostatnią wersję RC2.

Usunąłem wszystkie pliki starej biblioteki, skopiowałem pliki z nowej biblioteki do folderu projektu i dodałem je do projektu przez xcode. xcode może tworzyć projekty z nowymi plikami bibliotecznymi, więc wziąłem je z tego nowego projektu. Następnie wprowadziłem pewne zmiany, aby usunąć ostrzeżenia.

+0

skąd wykonać upgrade? od jakiej wersji, do której vrsion? – LearnCocos2D

+0

Zmieniłem moje pytanie, aby odpowiedzieć na twoje pytanie – Gargo

Odpowiedz

42

rozwiązywane przez importowanie CoreText.framework

Ale myślę, że będę tworzyć nowy projekt, bo wciąż mają pewne problemy z identyfikacji z iphone5 rozmiaru ekranu