有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Xcode 4.5.1:链接器错误:NSJavaVirtualMachine,未找到架构i386的符号

我试图从objective C、iPhone 5应用程序中调用Java类。我使用的是Xcode 4.5.1。在这个阶段,我甚至无法加载虚拟机,除非出现以下错误:

架构i386的未定义符号:

“_OBJC_CLASS_$_NSJavaVirtualMachine”,引用自: 主目录中的objc类参考。o ld:未找到架构i386的符号 叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)

以下是我遵循的步骤

1)基本上。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。框架由: (右键单击)框架->;“将文件添加到项目”->;JavaVM。框架->;(将项目复制到目标组的文件夹中,并创建文件夹引用…->;单击添加。)

(它也出现在构建阶段->;将二进制文件链接到库中)

3)在信息中。plist中添加了以下属性:

Cocoa Java Application = Yes

Java类路径和Java根目录

它们都被设置为全局目录,我在其中存储Java文件

我试图调用Java类Vector的add and get函数。但我似乎根本无法将虚拟机加载到Xcode中! 请帮忙


共 (1) 个答案

  1. # 1 楼答案

    你不能在iOS上使用NSJavaVirtualMachine。Cocoa/Java绑定仅在OS X上可用,即使在那里,它们也被弃用