Linker error in Xcode 5.1 with cocos2d-x 3 beta 2

today i tried to compile in Xcode 5.1 my sample app and i got linker error can someone tell me why is it happening ?

Ld /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Intermediates/Slot321.build/Debug-iphoneos/Slot321\ iOS.build/Objects-normal/arm64/Slot321\ iOS normal arm64
    cd /Users/meiryanovich/Documents/xcode5_projects/Slot321/Slot321/proj.ios_mac
    export IPHONEOS_DEPLOYMENT_TARGET=5.0
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk -L/Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Products/Debug-iphoneos -F/Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Products/Debug-iphoneos -filelist /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Intermediates/Slot321.build/Debug-iphoneos/Slot321\ iOS.build/Objects-normal/arm64/Slot321\ iOS.LinkFileList -dead_strip -stdlib=libc++ -fobjc-link-runtime -miphoneos-version-min=5.0 /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Products/Debug-iphoneos/libbox2d\ iOS.a /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Products/Debug-iphoneos/libchipmunk\ iOS.a /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Products/Debug-iphoneos/libcocos2dx\ iOS.a /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Products/Debug-iphoneos/libcocos2dx-extensions\ iOS.a /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Products/Debug-iphoneos/libCocosDenshion\ iOS.a -framework CoreMotion -framework Foundation -framework UIKit -framework CoreGraphics -framework OpenGLES -lz -framework QuartzCore -framework OpenAL -framework AVFoundation -framework AudioToolbox -Xlinker -dependency_info -Xlinker /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Intermediates/Slot321.build/Debug-iphoneos/Slot321\ iOS.build/Objects-normal/arm64/Slot321\ iOS_dependency_info.dat -o /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Intermediates/Slot321.build/Debug-iphoneos/Slot321\ iOS.build/Objects-normal/arm64/Slot321\ iOS

Undefined symbols for architecture arm64:
  "_WebPGetFeaturesInternal", referenced from:
      WebPGetFeatures(unsigned char const*, unsigned long, WebPBitstreamFeatures*) in libcocos2dx iOS.a(CCImage.o)
  "_WebPDecode", referenced from:
      cocos2d::Image::initWithWebpData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_TIFFGetField", referenced from:
      cocos2d::Image::initWithTiffData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_TIFFClose", referenced from:
      cocos2d::Image::initWithTiffData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_jpeg_CreateDecompress", referenced from:
      cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_jpeg_read_header", referenced from:
      cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_TIFFReadRGBAImageOriented", referenced from:
      cocos2d::Image::initWithTiffData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_jpeg_start_decompress", referenced from:
      cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_jpeg_read_scanlines", referenced from:
      cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_jpeg_destroy_decompress", referenced from:
      cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_WebPInitDecoderConfigInternal", referenced from:
      WebPInitDecoderConfig(WebPDecoderConfig*) in libcocos2dx iOS.a(CCImage.o)
  "_png_create_info_struct", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_read_info", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_jpeg_std_error", referenced from:
      cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_get_image_width", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_set_packing", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_create_read_struct", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_get_image_height", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_set_palette_to_rgb", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_sig_cmp", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_get_valid", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_read_end", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_set_longjmp_fn", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "__TIFFfree", referenced from:
      cocos2d::Image::initWithTiffData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_FT_Done_FreeType", referenced from:
      cocos2d::FontFreeType::shutdownFreeType() in libcocos2dx iOS.a(CCFontFreeType.o)
  "_png_set_tRNS_to_alpha", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_get_rowbytes", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_read_update_info", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_jpeg_mem_src", referenced from:
      cocos2d::Image::initWithJpgData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_set_expand_gray_1_2_4_to_8", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "__TIFFmalloc", referenced from:
      cocos2d::Image::initWithTiffData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_set_strip_16", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_get_io_ptr", referenced from:
      cocos2d::(anonymous namespace)::pngReadCallback(png_struct_def*, unsigned char*, unsigned long) in libcocos2dx iOS.a(CCImage.o)
  "_png_set_read_fn", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_error", referenced from:
      cocos2d::(anonymous namespace)::pngReadCallback(png_struct_def*, unsigned char*, unsigned long) in libcocos2dx iOS.a(CCImage.o)
  "_png_get_bit_depth", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_get_color_type", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_destroy_read_struct", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_TIFFClientOpen", referenced from:
      cocos2d::Image::initWithTiffData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
  "_png_read_image", referenced from:
      cocos2d::Image::initWithPngData(unsigned char const*, long) in libcocos2dx iOS.a(CCImage.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I have the same problem, only when build for iphone 5s (arm64) using iOS 7.1 SDK and Xcode 5.1

disable arm64

How ?
ok found it need to change to :
$(ARCHS_STANDARD_32_BIT)

looking at this link and changing the settings
http://stackoverflow.com/questions/22323039/arm64-architecture-in-xcode-5-1
After doing this i have new linking errors that looks like this:

gnoring file /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Products/Debug-iphonesimulator/libcocos2dx-extensions iOS.a, file was built for archive which is not the architecture being linked (i386): /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Products/Debug-iphonesimulator/libcocos2dx-extensions iOS.a
ld: warning: ignoring file /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Products/Debug-iphonesimulator/libCocosDenshion iOS.a, file was built for archive which is not the architecture being linked (i386): /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Products/Debug-iphonesimulator/libCocosDenshion iOS.a
ld: warning: ignoring file /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Products/Debug-iphonesimulator/libcocos2dx iOS.a, file was built for archive which is not the architecture being linked (i386): /Users/meiryanovich/Library/Developer/Xcode/DerivedData/Slot321-ggaqzqgvjcazkuaqnngfqbbcfvvw/Build/Products/Debug-iphonesimulator/libcocos2dx iOS.a
Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_CCEAGLView", referenced from:
      objc-class-ref in AppController.o
      objc-class-ref in RootViewController.o
  "cc_assert_script_compatible(char const*)", referenced from:
      cocos2d::Object::retain() in HelloWorldScene.o
      cocos2d::Object::retain() in ButtomPanelObj.o
      Singleton<GameFactory>::Singleton() in GameFactory.o
      cocos2d::Object::retain() in ReelGameObj.o
      cocos2d::Vector<cocos2d::Node*>::at(long) const in ReelGameObj.o
      Singleton<PayLinesManager>::Singleton() in PayLinesManager.o
      cocos2d::Object::retain() in PayLinesManager.o
      ...
  "cocos2d::Application::getInstance()", referenced from:
      -[AppController application:didFinishLaunchingWithOptions:] in AppController.o
      -[AppController applicationDidEnterBackground:] in AppController.o
      -[AppController applicationWillEnterForeground:] in AppController.o
      -[RootViewController didRotateFromInterfaceOrientation:] in RootViewController.o
  "cocos2d::Application::getTargetPlatform()", referenced from:
      vtable for AppDelegate in AppDelegate.o
  "cocos2d::Application::getCurrentLanguage()", referenced from:
      vtable for AppDelegate in AppDelegate.o
  "cocos2d::Application::setAnimationInterval(double)", referenced from:
      vtable for AppDelegate in AppDelegate.o
  "cocos2d::Application::applicationScreenSizeChanged(int, int)", referenced from:
      vtable for AppDelegate in AppDelegate.o
  "cocos2d::Application::run()", referenced from:
      -[AppController application:didFinishLaunchingWithOptions:] in AppController.o
  "cocos2d::Application::Application()", referenced from:
      AppDelegate::AppDelegate() in AppDelegate.o
  "cocos2d::Application::~Application()", referenced from:
      AppDelegate::~AppDelegate() in AppDelegate.o
  "cocos2d::ClippingNode::setStencil(cocos2d::Node*)", referenced from:
      UT::setRectangleClipper(cocos2d::Sprite*, cocos2d::Sprite*, cocos2d::Size, float, float) in UT.o
      UT::setSpriteAsClipper(cocos2d::Sprite*, cocos2d::Layer&, cocos2d::Size, float, float) in UT.o
  "cocos2d::ClippingNode::setAlphaThreshold(float)", referenced from:
      UT::setSpriteAsClipper(cocos2d::Sprite*, cocos2d::Layer&, cocos2d::Size, float, float) in UT.o
  "cocos2d::ClippingNode::create(cocos2d::Node*)", referenced from:
      UT::setRectangleClipper(cocos2d::Sprite*, cocos2d::Layer&, cocos2d::Size, float, float) in UT.o
  "cocos2d::ClippingNode::create()", referenced from:
      UT::setRectangleClipper(cocos2d::Sprite*, cocos2d::Sprite*, cocos2d::Size, float, float) in UT.o
      UT::setSpriteAsClipper(cocos2d::Sprite*, cocos2d::Layer&, cocos2d::Size, float, float) in UT.o
  "cocos2d::CustomCommand::CustomCommand()", referenced from:
      HelloWorld::HelloWorld() in HelloWorldScene.o
  "cocos2d::CustomCommand::~CustomCommand()", referenced from:
      HelloWorld::HelloWorld() in HelloWorldScene.o
      HelloWorld::~HelloWorld() in HelloWorldScene.o
  "cocos2d::MenuItemImage::create(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::function<void (cocos2d::Object*)> const&)", referenced from:
      HelloWorld::init() in HelloWorldScene.o
  "cocos2d::RepeatForever::create(cocos2d::ActionInterval*)", referenced from:
      PayLinesManager::CheckPayLineMatch(std::__1::vector<std::__1::vector<ReelSymbol*, std::__1::allocator<ReelSymbol*> >, std::__1::allocator<std::__1::vector<ReelSymbol*, std::__1::allocator<ReelSymbol*> > > >&) in PayLinesManager.o
  "cocos2d::MenuItemSprite::create(cocos2d::Node*, cocos2d::Node*, std::__1::function<void (cocos2d::Object*)> const&)", referenced from:
      ButtomPanelObj::createSpinButton() in ButtomPanelObj.o
  "cocos2d::EventDispatcher::removeEventListener(cocos2d::EventListener*)", referenced from:
      HelloWorld::~HelloWorld() in HelloWorldScene.o
  "cocos2d::EventDispatcher::addEventListenerWithSceneGraphPriority(cocos2d::EventListener*, cocos2d::Node*)", referenced from:
      HelloWorld::onEnter() in HelloWorldScene.o
  "cocos2d::SpriteBatchNode::create(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, long)", referenced from:
      HelloWorld::onEnter() in HelloWorldScene.o
  "cocos2d::SpriteFrameCache::getInstance()", referenced from:
      HelloWorld::onEnter() in HelloWorldScene.o
  "cocos2d::SpriteFrameCache::addSpriteFramesWithFile(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      HelloWorld::onEnter() in HelloWorldScene.o
  "cocos2d::EventListenerTouchAllAtOnce::create()", referenced from:
      HelloWorld::onEnter() in HelloWorldScene.o
  "cocos2d::log(char const*, ...)", referenced from:

Besides disabling arm64, You should turn off “Build Active Architecture only” option

because some pre-build binary files have already been packed in the cocos2d-x, those files doesn’t include 64 architecture, when the target device is arm64 or ia64, linkage will fail to accomplish.

Thanks , its working now i had to disable it in each lib in Xcode project and build it from start .
why it doesn’t support arm64 by the way ?

No one could successfully foresee that apple would release the 5s which is equipped with an arm64 type cpu,so apple release it, the members of cocos2d-x’s team missed:( and we sucks! :frowning:

so cocos2d-x not going to work on iPhone 5 s?

I’m encountering this in v3.1.1. Do I need to manually set the active architecture to $(ARCHS_STANDARD_32_BIT) for each cocos lib (box2d, etc)?

Are you guys seeing this when testing in the simulator or testing on hardware?

In my case I only encountered it when testing on the newest iPad (64bit). One of my dependencies isn’t 64 bit yet, so I forced my project into 32-bit mode. To get cocos to play nice, I had to set it individually on each lib and set Build Only Active Architecture to No on them as well.