升級Xcode到6.1之後使用iPhone6真機測試cocos2d-x報錯不支援arm64的解決方案,Undefined symbols for architecture arm64 錯誤
阿新 • • 發佈:2019-02-13
轉載請註明出處http://blog.csdn.net/wjlpld/article/details/40400041 謝謝大家
最近收入iPhone6之後將Xcode順便升級到6.1版本,編譯cocos2d-x 3.2的Helloworld專案時報錯如下
Undefined symbols for architecture arm64: "_WebPGetFeaturesInternal", referenced from: WebPGetFeatures(unsigned char const*, unsigned long, WebPBitstreamFeatures*) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_WebPInitDecoderConfigInternal", referenced from: WebPInitDecoderConfig(WebPDecoderConfig*) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_get_io_ptr", referenced from: cocos2d::(anonymous namespace)::pngReadCallback(png_struct_def*, unsigned char*, unsigned long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_error", referenced from: cocos2d::(anonymous namespace)::pngReadCallback(png_struct_def*, unsigned char*, unsigned long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_WebPDecode", referenced from: cocos2d::Image::initWithWebpData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_TIFFGetField", referenced from: cocos2d::Image::initWithTiffData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "__TIFFmalloc", referenced from: cocos2d::Image::initWithTiffData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_TIFFReadRGBAImageOriented", referenced from: cocos2d::Image::initWithTiffData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_TIFFClose", referenced from: cocos2d::Image::initWithTiffData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_jpeg_read_header", referenced from: cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_read_end", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_jpeg_read_scanlines", referenced from: cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_get_valid", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_set_strip_16", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_create_read_struct", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_get_image_height", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_set_packing", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_TIFFClientOpen", referenced from: cocos2d::Image::initWithTiffData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_FT_Get_Glyph", referenced from: cocos2d::FontFreeType::getGlyphBitmapWithOutline(unsigned short, FT_BBox_&) in libcocos2dx iOS.a(CCFontFreeType.o) "_FT_Set_Char_Size", referenced from: cocos2d::FontFreeType::createFontObject(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in libcocos2dx iOS.a(CCFontFreeType.o) "_png_read_image", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_destroy_read_struct", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_FT_Glyph_StrokeBorder", referenced from: cocos2d::FontFreeType::getGlyphBitmapWithOutline(unsigned short, FT_BBox_&) in libcocos2dx iOS.a(CCFontFreeType.o) "_png_sig_cmp", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_read_update_info", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_get_rowbytes", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_jpeg_destroy_decompress", referenced from: cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_FT_Glyph_Get_CBox", referenced from: cocos2d::FontFreeType::getGlyphBitmapWithOutline(unsigned short, FT_BBox_&) in libcocos2dx iOS.a(CCFontFreeType.o) "_png_get_color_type", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_jpeg_std_error", referenced from: cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_set_tRNS_to_alpha", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_FT_Done_FreeType", referenced from: cocos2d::FontFreeType::shutdownFreeType() in libcocos2dx iOS.a(CCFontFreeType.o) "_FT_Done_Glyph", referenced from: cocos2d::FontFreeType::getGlyphBitmapWithOutline(unsigned short, FT_BBox_&) in libcocos2dx iOS.a(CCFontFreeType.o) "_jpeg_start_decompress", referenced from: cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_FT_Load_Glyph", referenced from: cocos2d::FontFreeType::getGlyphBitmap(unsigned short, int&, int&, cocos2d::Rect&, int&) in libcocos2dx iOS.a(CCFontFreeType.o) cocos2d::FontFreeType::getGlyphBitmapWithOutline(unsigned short, FT_BBox_&) in libcocos2dx iOS.a(CCFontFreeType.o) "_jpeg_CreateDecompress", referenced from: cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_jpeg_mem_src", referenced from: cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_FT_Init_FreeType", referenced from: cocos2d::FontFreeType::initFreeType() in libcocos2dx iOS.a(CCFontFreeType.o) "_png_set_read_fn", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_get_bit_depth", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_FT_Stroker_Done", referenced from: cocos2d::FontFreeType::~FontFreeType() in libcocos2dx iOS.a(CCFontFreeType.o) "_png_set_palette_to_rgb", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_FT_Get_Char_Index", referenced from: cocos2d::FontFreeType::getHorizontalKerningForChars(unsigned short, unsigned short) const in libcocos2dx iOS.a(CCFontFreeType.o) cocos2d::FontFreeType::getGlyphBitmap(unsigned short, int&, int&, cocos2d::Rect&, int&) in libcocos2dx iOS.a(CCFontFreeType.o) cocos2d::FontFreeType::getGlyphBitmapWithOutline(unsigned short, FT_BBox_&) in libcocos2dx iOS.a(CCFontFreeType.o) "_png_get_image_width", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_set_longjmp_fn", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_FT_Stroker_Set", referenced from: cocos2d::FontFreeType::FontFreeType(bool, int) in libcocos2dx iOS.a(CCFontFreeType.o) "_FT_Select_Charmap", referenced from: cocos2d::FontFreeType::createFontObject(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in libcocos2dx iOS.a(CCFontFreeType.o) "_FT_Outline_Render", referenced from: cocos2d::FontFreeType::getGlyphBitmapWithOutline(unsigned short, FT_BBox_&) in libcocos2dx iOS.a(CCFontFreeType.o) "__TIFFfree", referenced from: cocos2d::Image::initWithTiffData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_set_expand_gray_1_2_4_to_8", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_FT_Done_Face", referenced from: cocos2d::FontFreeType::~FontFreeType() in libcocos2dx iOS.a(CCFontFreeType.o) "_png_create_info_struct", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_png_read_info", referenced from: cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage-5287FE6734B2FA44.o) "_FT_Stroker_New", referenced from: cocos2d::FontFreeType::FontFreeType(bool, int) in libcocos2dx iOS.a(CCFontFreeType.o) "_FT_New_Memory_Face", referenced from: cocos2d::FontFreeType::createFontObject(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) in libcocos2dx iOS.a(CCFontFreeType.o) "_FT_Outline_Translate", referenced from: cocos2d::FontFreeType::getGlyphBitmapWithOutline(unsigned short, FT_BBox_&) in libcocos2dx iOS.a(CCFontFreeType.o) "_FT_Get_Kerning", referenced from: cocos2d::FontFreeType::getHorizontalKerningForChars(unsigned short, unsigned short) const in libcocos2dx iOS.a(CCFontFreeType.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
暫時的解決方法如下:
開啟你專案所在目錄,找到裡面的cocos2d-》external,在external資料夾裡面搜尋_arm64.a(是external裡面所有的_arm64.a,不是整個計算機的!),將你搜索到的字尾為_arm64.a的檔案(cocos2d-x 3.2裡面是7個),之後把這些所有的檔案拖到到你的Xcode專案目錄裡面的FrameWorks去,選擇group方式,在現階段下只能用這個方法了,大家盡情的編譯吧~~~