Ios 启用位代码时出现错误:clang:error:argument未在编译期间使用:'-fembed位码标记';

Ios 启用位代码时出现错误:clang:error:argument未在编译期间使用:'-fembed位码标记';,ios,xcode7,bitcode,Ios,Xcode7,Bitcode,我有一个框架需要在启用位代码的情况下发布。我已在项目“生成设置”中将“启用位代码”设置为“是”。在Makefile中,我有如下命令行:xcodebuild OTHER\u CFLAGS=“-fembed bitcode”-target MyFramework-configuration${CONFIG}-sdk iphoneos。当我运行makefile时,我得到一个错误: clang: error: argument unused during compilation: '-fembed-bi

我有一个框架需要在启用位代码的情况下发布。我已在项目“生成设置”中将“启用位代码”设置为“是”。在Makefile中,我有如下命令行:
xcodebuild OTHER\u CFLAGS=“-fembed bitcode”-target MyFramework-configuration${CONFIG}-sdk iphoneos
。当我运行makefile时,我得到一个错误:

clang: error: argument unused during compilation: '-fembed-bitcode-marker'
但是当我在“构建设置”中将“启用位代码”更改为“否”时。没有发生错误。然后运行命令
otool-l build/Debug output/MyFramework.framework/libMyFramework.a | grep uu LLVM
,我可以得到
segname u LLVM

因此,问题是:

  • “启用位代码”到“是”不能同时使用命令行
    xcodebuild OTHER\u CFLAGS=“-fembed Bitcode”
  • 如果我们想要构建一个支持位代码的框架,我们只需要将
    othercflags=“-fembed bitcode”
    添加到build命令中,或者将
    -fembed bitcode
    添加到“build Settings”中的“OTHER C Flags”中,对吗

  • 经过一些测试,我想我已经得到了我的答案,如果我错了,请纠正我。如果您的框架不依赖于其他项目,那么当您设置这两个设置时,您将收到上面提到的错误消息。但是如果您的框架依赖于其他项目,例如,您有一个工作区,其中有两个项目,一个项目和一个项目。项目依赖于B。在这种情况下,应将“启用位代码”设置为“是”,同时将
    -fembed位代码设置为
    。因为当您发布A.framework时,编译器应该知道位代码在B二进制文件中的位置。因此,应打开“启用位代码”以在B中标记
    -fembed位代码标记