【问题标题】:Fat static library: symbol(s) not found for architecture armv7?胖静态库:找不到架构 armv7 的符号?
【发布时间】:2012-10-30 02:18:33
【问题描述】:

我有以下问题: 我有一个与 armv7 兼容的项目。使用新 iPhone,我不得不为 armv7s 重新编译所有库(包括 boost 库)。 这些库仅包含 C++ 代码!每个库都向我显示以下消息:

fat文件中的架构:/Users/zhivkobogdanov/Library/Developer/Xcode/DerivedData/CollDet-fqaizyeeisynwqfqfznxlzxpaghu/Build/Products/Debug-iphoneos/libColl.a为:armv7(cputype(12)cpusubtype( 11)) i386

这意味着每个静态库都是与 armv7、armv7s 和模拟器兼容的胖库。 问题是当我尝试使用任何库时收到以下错误消息:

未找到架构 armv7 的符号

坦率地说,这很奇怪......

任何帮助将不胜感激!

【问题讨论】:

  • 简单的解决方法是使用旧库并且只为 armv7 编译您的应用程序。没有更多细节很难调试;您没有在错误消息中包含相关 .a/.o 的名称。
  • 我当然可以使用旧库,只需在构建设置中设置为仅使用当前架构。静态库是私有库。他们不公开。如您所见,其中一个是 libColl.a,另一个是 libQHull.a。我实际上已经取得了一些进展。如果它有效,我会更新线程。 ;-) 无论如何谢谢。

标签: iphone objective-c static-libraries


【解决方案1】:

对于所有想了解解决方法的人: 我改了

C++ 语言方言GNU++11

C++ 标准库libc++

这没有产生任何错误并且编译没有任何问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 2015-10-07
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    • 2021-06-28
    相关资源
    最近更新 更多