0

I'm working on updating an existing cocos2d-x project from 3.7 to 3.15, and I'm running into the following linker error:

    Undefined symbols for architecture arm64:
  "_iconv_open", referenced from:
      cocos2d::FontAtlas::conversionU32TOGB2312(std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> > const&, std::__1::unordered_map<unsigned int, unsigned int, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, unsigned int> > >&) in libcocos2d iOS.a(CCFontAtlas.o)
  "_iconv", referenced from:
      cocos2d::FontAtlas::conversionU32TOGB2312(std::__1::basic_string<char32_t, std::__1::char_traits<char32_t>, std::__1::allocator<char32_t> > const&, std::__1::unordered_map<unsigned int, unsigned int, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, unsigned int> > >&) in libcocos2d iOS.a(CCFontAtlas.o)
  "_CTFramesetterCreateWithAttributedString", referenced from:
      _calculateShrinkedSizeForString(NSAttributedString**, objc_object*, CGSize, bool, int&) in libcocos2d iOS.a(CCDevice-ios.o)
  "_iconv_close", referenced from:
      cocos2d::FontAtlas::~FontAtlas() in libcocos2d iOS.a(CCFontAtlas.o)
  "_CTFramesetterSuggestFrameSizeWithConstraints", referenced from:
      _calculateShrinkedSizeForString(NSAttributedString**, objc_object*, CGSize, bool, int&) in libcocos2d iOS.a(CCDevice-ios.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Any thoughts on what I should do to resolve this?

Building with Xcode 9.0

Thanks!

Kevin Mack
  • 1,174
  • 1
  • 9
  • 20

1 Answers1

1

Update: Through some further exploration, I found that I needed to add two new frameworks to my project:

Navigating to Project->Build Phases->Link Binary With Libraries, and adding:

libiconv.tbd
CoreText.framework

resolved my linker errors.

Leaving this here in case anyone else encounters similar issues updating from an old version of cocos2d-x.

Kevin Mack
  • 1,174
  • 1
  • 9
  • 20