Bitcode在链接静态库时的问题处理 “ld: bitcode bundle could not be generated because”

21_37221_6c1682c71a634d5.png

那么问题来了,如果一个工程里面有静态库的引用,那么所有的静态库也需要打开Bitcode后重新编译。
这一切都没有问题,但是在“Archive”的时候就会报错。
这时,就需要给静态库的工程增加一个选项“-fembed-bitcode”。之后就可以正常Archive了。

报错内容
ld: bitcode bundle could not be generated because '/Users/liuyuning/Desktop/TestDecode/Decode/libDecode.a(Decode.o)' was built without full bitcode. All object files and libraries for bitcode must be generated from Xcode Archive or Install build for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

21_37221_02e8dd8d639ede4.png

增加“-fembed-bitcode”

Bitcode在链接静态库时的问题处理 “ld: bitcode bundle could not be generated because”_第1张图片
21_37221_e93d96c4f8002cb.png

另外,如果静态库的工程有 -Werror 的选项,需要去掉。应为在编译的时候有一个警告。 clang: warning: argument unused during compilation: '-fembed-bitcode-marker'
如果不去掉就会报错

Bitcode在链接静态库时的问题处理 “ld: bitcode bundle could not be generated because”_第2张图片
21_37221_03d46e072ae1914.png

你可能感兴趣的:(Bitcode在链接静态库时的问题处理 “ld: bitcode bundle could not be generated because”)