2013-05-09 37 views
15

Nó không thể biên dịch nguồn và viết:iOS. Không thể chạy một dự án sau khi cập nhật thư viện cocos2d bên trong dự án này

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)

nhưng khi tôi thay thế tất cả các mã trong hàm sau trong CCLabelTTF với "return 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; 
} 

thì tôi có thể biên dịch mã nhưng không thể sử dụng nhãn.

Vì vậy, làm thế nào để giải quyết điều này mà không cần tạo một dự án mới và sao chép tất cả các nguồn vào nó?

EDITED

phiên bản trước là 2.x, bây giờ tôi có phiên bản RC2 ngoái.

Tôi đã xóa tất cả các tệp của thư viện cũ, sao chép các tệp từ thư viện mới vào thư mục dự án và thêm chúng vào dự án qua xcode. xcode có thể tạo các dự án với một tệp thư viện mới, vì vậy tôi đã lấy chúng từ dự án mới này. Sau đó, tôi đã thực hiện một số thay đổi để xóa cảnh báo.

+0

làm thế nào bạn thực hiện nâng cấp? từ phiên bản nào đến vrsion nào? – LearnCocos2D

+0

Tôi đã chỉnh sửa câu hỏi của mình để trả lời câu hỏi của bạn – Gargo

Trả lời

42

giải quyết bằng cách nhập khẩu CoreText.framework

Nhưng tôi nghĩ rằng tôi sẽ tạo ra một dự án mới, vì tôi vẫn còn có một số rắc rối với việc xác định các kích thước màn hình iPhone5

Các vấn đề liên quan