Cocos2d-x is a suite of open-source, cross-platform, game-development tools utilized by millions of developers across the globe. Its core has evolved to serve as the foundation for Cocos Creator 1.x & 2.x.
Compile errors occurred when Xcode project is generated from cmake on MacOSX big sur.
clang: error: no such file or directory: '/usr/lib/libiconv.dylib'
Bacause iconv path is resolved by find_library in CocosConfigDepend.cmake as below.
find_library(ICONV_LIBRARY iconv)
But ICONV_LIBRARY always be set /usr/lib/libconv.dylib ignoring sys_root. /usr/lib seems to be no longer available and it is located at /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/usr/lib/libiconv.tbd on big sur.
Fixed: https://github.com/cocos2d/cocos2d-x/issues/20608 Maybe related: https://github.com/cocos2d/cocos2d-x/issues/20435
environment
OS: MacOSX 11.3 big sur Xcode: 13.1 cmake: 3.21.2
description
Compile errors occurred when Xcode project is generated from cmake on MacOSX big sur.
clang: error: no such file or directory: '/usr/lib/libiconv.dylib'
Bacause iconv path is resolved by find_library in CocosConfigDepend.cmake as below.
find_library(ICONV_LIBRARY iconv)
But ICONV_LIBRARY always be set
/usr/lib/libconv.dylib
ignoring sys_root. /usr/lib seems to be no longer available and it is located at/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk/usr/lib/libiconv.tbd
on big sur.I guess ICONV_LIBRARY is already defined by cmake system so find_library do nothing. https://cmake.org/cmake/help/latest/module/FindIconv.html
solution
I used other name so that avoid conflicting name.