gpt4 book ai didi

xcode - 需要帮助链接到 OS X 上的 bundle

转载 作者:行者123 更新时间:2023-12-03 16:11:22 26 4
gpt4 key购买 nike

我是一名经验丰富的 Java 编码员,但我对 XCode 和 C++ 很陌生,很抱歉问了这个愚蠢的问题。

我正在 XCode 中编写一些需要实例化 Java 虚拟机的 C++ 代码。 OS X Java 插件中有一个名为 JavaVM_GetJNIEnv() 的方法,Sun/Oracle 源代码中有一个名为 JavaVM.h 的头文件,其中包含以下几行:

// Gets the JNIEnv* associated with the Java VM, creating the JVM
// instance if necessary. Note that the implementation of this routine
// must be prepared for it to be called from more than one thread.
JNIEnv* JavaVM_GetJNIEnv();

我将 .h 文件添加到我的 XCode 项目中,但我不知道如何链接到二进制文件。我想出了如何在链接器中强制加载,如下所示:

-force_load /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin/Contents/MacOS/JavaPlugin2_NPAPI

(此文件是一个符号链接(symbolic link);真实路径是/System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin/Contents/Resources/Java/libplugin2_npapi.jnilib)

但随后我收到此错误消息:

ld: in /System/Library/Java/Support/Deploy.bundle/Contents/Resources/JavaPlugin2_NPAPI.plugin/Contents/MacOS/JavaPlugin2_NPAPI, can't link with bundle (MH_BUNDLE) only dylibs (MH_DYLIB)
collect2: ld returned 1 exit status

所以我的问题是,如何使用 XCode 链接到 .jnilib 文件中的代码?

最佳答案

您需要链接到框架,而不是 bundle 。选择“添加现有框架”并选择 JavaVM.framework,Xcode 应该处理其余的事情!

关于xcode - 需要帮助链接到 OS X 上的 bundle ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6655548/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com