java - Xcode 4.5.1 : Linker Error: NSJavaVirtualMachine, 找不到体系结构 i386 的符号

标签 java objective-c linker-errors undefined-symbol bridge

我正在尝试从 Objective-C 、iPhone 5 应用程序调用 Java 类。我正在使用 Xcode 4.5.1。在这个阶段,如果没有以下错误,我什至无法加载虚拟机:

架构 i386 的 undefined symbol :

“_OBJC_CLASS_$_NSJavaVirtualMachine”,引用自: main.o 中的 objc-class-ref ld:未找到架构 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 类 Vector 的添加和获取函数。但我似乎根本无法将 VM 加载到 Xcode 中! 请帮忙。

最佳答案

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

关于java - Xcode 4.5.1 : Linker Error: NSJavaVirtualMachine, 找不到体系结构 i386 的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13060452/

相关文章:

c++ - SFML 2 的链接抛出对 sf::Window 构造函数的 undefined reference

c - PULMon 无法构建 (LNK2019)

templates - MFC 项目导致 "multiple definition"链接器错误?

java - 前端 - ajax 调用服务器框架

objective-c - 我的 OS X 应用不想打开它创建的文件

java - 一次性向所有 MySQL 选择查询添加一列

ios - 如何将另一个 UIViewController 添加到现有的 UINavigationController

php - Objective-c 使用脚本上传到数据库

java - 将 ListView 添加到 fragment 会缩小布局

java - 如何在 CDT ASTParser 中将 IASTComment 链接到 IASTDeclaration