I build an iOS project from Unity and tried compiling it. I ended up with the following error. I have implemented ChartBoost in my Unity project.

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)

I have searched a couple of existing answers but nothing seems to work. I am not sure how to fix it. Any suggestions will be highly appreciated.

有帮助吗?

解决方案

Though we can make a fat library as commented by @trojanfoe but currently libChartBoost.a is only available for ARM and not for i386 architecture. Hence this program will not work on the simulator and must be executed on the ARM based architecture device.

其他提示

For what it's worth, 4.0 and 4.1 do not have the i386 code included in the library.

Chartboost Support tells me that 4.2 does. And it does - however it also has a bug in the i386 build which prevents it from compiling! Maybe in 4.3...

Or if you don't really need 4.X features - the latest 3.X works just fine for the moment.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top