【问题标题】:Xcode static library error: unknown option character `f' in: -fobjc-link-runtimeXcode 静态库错误:-fobjc-link-runtime 中的未知选项字符“f”
【发布时间】:2013-04-15 14:33:15
【问题描述】:

我尝试构建一个“隐式链接 Objective-C 运行时支持”的静态库,但在链接步骤中构建失败并显示下一条消息: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: unknown option character 'f' in: -fobjc-link-runtime

我不知道为什么会这样,所以如果你知道请帮助我。

【问题讨论】:

    标签: objective-c xcode macos linker


    【解决方案1】:

    libtool 命令不接受 -fobjc-link-runtime 参数。这听起来像是错误地潜入了您的 Xcode 项目。我建议如下:

    1. 打开 Xcode
    2. 选择您的项目和构建设置选项卡
    3. 在搜索框中输入-fobjc-link-runtime,构建设置中应至少有一行对应
    4. 如果项目不在与编译器相关的行上,请尝试将其删除并重新构建

    如果你没有找到它,那么听起来libtool 参数不知何故意外地包含了来自编译器的参数。

    如果是这种情况,您使用的是哪个版本的 Xcode,以及您使用的是哪个编译器?

    【讨论】:

    • 在我的项目中,libtool 选项 -fobjc-link-runtime 与来自 Apple LLVM compiler 4.2 - LanguageImplicitly link Objective-C Runtime Support 选项相关联。最重要的是,这只发生在一个项目中。
    • 当我在“构建设置”选项卡中搜索 -fobjc-link-runtime 时,我什么也没找到。我没有找到任何方法可以在构建之前(不在日志中)查看编译和链接命令的选项,以便从链接命令中删除该选项。我的 Xcode 版本是 4.6.2。
    • 您是否尝试过将单个项目更改为使用 LLVM Clang 而不是 LLVM 4.2?还是明确要求 4.2?
    • 当你说没有成功的时候,是用LLVM编译失败,还是libtool失败再次出现?如果是后者,您可能需要使用文本编辑器弹出打开 XML 文件并快速搜索 -fobjc-link-runtime 并考虑将其删除。显然在这样做之前备份。
    猜你喜欢
    • 1970-01-01
    • 2014-04-14
    • 2012-05-03
    • 2014-07-24
    • 1970-01-01
    • 2014-09-24
    • 2014-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多