Question

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.

Was it helpful?

Solution

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.

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top