Domanda

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.

È stato utile?

Soluzione

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.

Altri suggerimenti

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top