【问题标题】:C++ compilation for iPhone (STL issue?)iPhone 的 C++ 编译(STL 问题?)
【发布时间】:2011-01-10 17:42:42
【问题描述】:

我正在尝试将一些 C++ 代码编译为静态库以在 iPhone 上使用。如果我为模拟器(i386 架构)编译东西,一切都编译得很好,但是当我将架构切换到 arm 时,我得到所有这些包含错误,似乎在 iPhone SDK STL 标头中。知道发生了什么吗?

第一个错误:

/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include/c++/4.2.1/string:45:0 Bits/c++config.h: No such file or directory in 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include/c++/4.2.1/string

【问题讨论】:

  • 这是使用 iPhone 3.2 SDK Beta 顺便说一句。如果我选择目标作为设备 3.2,它似乎可以工作,但所有较小的操作系统版本都会给我这些错误。

标签: c++ iphone xcode stl compilation


【解决方案1】:

添加/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/include/c++/4.2.1/armv6-apple-darwin9/ 作为包含路径。

另外,请向 Apple 提交错误。

【讨论】:

  • 添加此路径只会修复设备构建。
【解决方案2】:

要为所有 SDK 版本修复此错误,请添加

$(SDKROOT)/usr/include/c++/4.2.1/armv6-apple-darwin9

到“标头搜索路径”构建设置(架构应该无关紧要;这对我来说仍然适用于模拟器)。

【讨论】:

    【解决方案3】:

    没有armv6-apple-darwin9子目录

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-27
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-01
      相关资源
      最近更新 更多