【问题标题】:What exactly is crt1.3.1.ocrt1.3.1.o到底是什么
【发布时间】:2013-02-08 09:25:00
【问题描述】:

我正在使用 xcode 4.5 我的 Base SDK 是 6.0,我的部署目标是 5.1。当我尝试为发布或分析而构建时,我得到了这个错误的小宝石。

ld: file is universal (4 slices) but does not contain a(n) armv7s slice: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/usr/lib/crt1.3.1.o for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

现在....

我已经在 stackoverflow 上看到了这条消息,但我仍然不知道。

这个crt1.2.1.o到底是什么引起了大家的大惊小怪? 我可以修改它以消除我的错误吗? 最后有人建议我只为活动架构设置构建。这样做有什么影响?

谢谢

【问题讨论】:

    标签: ios xcode4.5 clang


    【解决方案1】:

    crt1.3.1.o 文件包含 C 运行时库的启动代码。这会初始化运行时,调用全局初始化器,最后调用main 函数。

    您的项目设置一定有问题。您也在为 armv7s 进行编译,但这些库是从尚不支持 armv7s 架构的 iOS 5.1 SDK 链接的。

    【讨论】:

    • 您认为它是否足够安全,只需将活动架构的构建设置为“是”?
    • 如果不知道根本问题是什么以及您连接了什么设备,就很难判断。我首先建议同时查看 Architectures 和 Valid Architectures 构建设置。
    【解决方案2】:

    我遇到了同样的问题,我从构建设置中的有效架构中删除了 armv7s,只留下了 armv7,之后我可以归档我的项目

    【讨论】:

    • 我几乎也是这样做的。我只是担心这样做可能带来的任何影响
    猜你喜欢
    • 2015-09-19
    • 2013-04-05
    • 2012-05-09
    • 1970-01-01
    • 2013-02-06
    • 2013-05-05
    • 2010-11-19
    • 2012-06-16
    • 2011-04-02
    相关资源
    最近更新 更多