我正在尝试从目标 C、iPhone 5 应用程序中调用 Java 类。我正在使用 Xcode 4.5.1。在这个阶段,我什至无法加载虚拟机而不会出现以下错误:
架构 i386 的未定义符号:
“_OBJC_CLASS_$_NSJavaVirtualMachine”,引用自:main.o ld 中的 objc-class-ref:未找到架构 i386 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
这些是我遵循的步骤,
1) 在 main.m 中:
@autoreleasepool {
[NSJavaVirtualMachine defaultVirtualMachine]; //Added this line to load the Java VM.
id vector=[[NSClassFromString(@"java.util.Vector") alloc] init];
[vector add:@"one item!"];
NSLog(@"item 1=%@",[vector get:0]);
return 0;
}
2)我通过以下方式添加了JavaVM.Framework:(右键单击)框架->“将文件添加到项目”-> JavaVM.Framework->(将项目复制到目标组的文件夹并创建文件夹引用...->单击添加
(它也出现在 Build Phases -> Link Binary with Libraries)
3) 在 info.plist 中,添加了以下属性:
Cocoa Java Application = Yes
Java 类路径和 Java 根目录
两者都设置为我存储 Java 文件的全局目录。
我正在尝试调用 Java 类的 add 和 get 函数Vector
。但我似乎根本无法将 VM 加载到 Xcode 中!请帮忙。