1

i get the following error when i run j2objcc -o blssmibi BLSSMIBI.o

Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_Curve", referenced from: objc-class-ref in BLSSMIBI.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

what should i do to fix this?

leppie
  • 115,091
  • 17
  • 196
  • 297
cheah
  • 13
  • 2

1 Answers1

0

There's no Curve class anywhere in j2objc's libraries, so my guess it's a dependency from the Java file that you used to generate BLSSMIBI (maybe that's the it looks like a package prefix was used). If you aren't sure what a class's dependencies are, try compiling with javac to a temporary directory and see what name.class files are created (ignore the ones with $ in their names, as they're inner classes). That list of class files is used to figure out all the classes that need transpiling, as well as all the .o files that the app requires.

tball
  • 1,984
  • 11
  • 21
  • Curve class is my own class..i get a solution here https://github.com/google/j2objc/wiki/Xcode-Build-Rules#debugging-build-problems but then i dont know how to solve it, because i'm only using terminal to build not Xcode, not sure how to open the log file – cheah Dec 22 '14 at 08:50
  • There is no log file in a terminal, just what gets printed. It's the same as when run with Xcode, only Xcode saves that printed output to a log file. FYI, j2objcc is just a script that wraps clang and sets a few flags (you can run "bash -x j2objcc.sh args" to see what is added). Try "j2objcc -o blssmibi BLSSMIBI.o Curve.o ". – tball Dec 23 '14 at 15:28