为AppleTV项目编译cocos2d-js时收到此错误:
ld:' / Users / pepa / Library / Developer / Xcode / DerivedData / GameXY-gwkkxwmtiilmalhdxfdjgqdfhedy / Build / Products / Debug-appletvos / libcocos2d tvOS.a(bio_lib.o)'不包含bitcode。你必须重建它 bitcode启用(Xcode设置ENABLE_BITCODE)或获取更新 来自供应商的架构arm64的库 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
我相信我只包含了为启用了bitcode的AppleTV目标而构建的库。但编译器仍在抱怨。是否提示告诉哪个库错过括号中的bitcode? (bio_lib.o)
如果是这样,你会知道它属于哪个库吗?我在电脑上找不到它。 我在这里使用预建的二进制文件:https://github.com/elvman/cocos2d-x-3rd-party-libs-bin/tree/tvos
答案 0 :(得分:2)
使用后续步骤:
安装git,make,autoconf,automake,libtool。如果您使用的是Homebrew,可以通过以下方式完成:
brew install git make autoconf automake libtool
克隆存储库:
git clone https://github.com/cocos2d/cocos2d-x-3rd-party-libs-src.git
转到cocos2d-x-3rd-party-libs-src/build
并更改文件tvos.ini
中的2行:
cfg_build_release_mode="-O3 -DNDEBUG -fembed-bitcode"
cfg_build_debug_mode="-O0 -g -DDEBUG -fembed-bitcode"
运行构建脚本:
build.sh -p=tvos --libs=curl --arch=arm64,x86_64 --mode=release
更新libcurl.a加密和ssl库
答案 1 :(得分:1)
对于那些来这里尝试使用Bitcode为iOS构建cocos2d-x(3.10)的人来说没问题。我是根据user1675169(https://stackoverflow.com/a/33969215/129202)的答案做到的,但当然我替换了build.sh行中的os,我不得不逐个替换所有这些:
我需要一段时间才能更换每一个人。根据您在cocos2d-x项目中使用的内容,您可能还需要替换其他库。可能最终cocos2d-x 3.11将首先与所有这些库重新编译,并且首先启用了bitcode。
重新编译行可能如下所示:
build.sh -p=ios --libs=tiff --arch=arm64,x86_64 --mode=release
最后,我能够在启用bitcode的情况下预编译整个libcocos2d。我还没有尝试过将其发送到iTunes Connect,但我想它最终可能会有效。