0

我从 Unity 构建了一个 iOS 项目并尝试编译它。我最终遇到了以下错误。我在我的 Unity 项目中实现了 ChartBoost。

ld: warning: ignoring file ../libChartboost.a, missing required architecture i386 in file ../libChartboost.a (2 slices)
Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_CBAnalytics", referenced from:
      objc-class-ref in ChartBoostBinding.o
  "_OBJC_CLASS_$_Chartboost", referenced from:
      objc-class-ref in ChartBoostBinding.o
      objc-class-ref in ChartBoostManager.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我已经搜索了几个现有的答案,但似乎没有任何效果。我不知道如何解决它。任何建议将不胜感激。

4

2 回答 2

0

虽然我们可以按照@trojanfoe 的评论创建一个胖库,但目前 libChartBoost.a 仅适用于 ARM,不适用于 i386 架构。因此,该程序不能在模拟器上运行,必须在基于 ARM 架构的设备上执行。

于 2014-01-30T07:09:50.147 回答
0

值得一提的是,4.0 和 4.1 没有包含在库中的 i386 代码。

Chartboost Support 告诉我 4.2 可以。确实如此 - 但是它在 i386 构建中也有一个错误,阻止它编译!也许在 4.3...

或者,如果您真的不需要 4.X 功能 - 最新的 3.X 暂时可以正常工作。

于 2014-03-26T12:17:25.033 回答