1. 程式人生 > >升級Xcode到6.1之後使用iPhone6真機測試cocos2d-x報錯不支援arm64的解決方案,Undefined symbols for architecture arm64 錯誤

升級Xcode到6.1之後使用iPhone6真機測試cocos2d-x報錯不支援arm64的解決方案,Undefined symbols for architecture arm64 錯誤

轉載請註明出處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方式,在現階段下只能用這個方法了,大家盡情的編譯吧~~~