我在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
(此文件是符号链接;真实路径为/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文件中的代码?
解决方法 您需要链接到框架,而不是捆绑.选择“添加现有框架”并选择JavaVM.framework,Xcode应该处理其余部分! 总结以上是内存溢出为你收集整理的xcode – 需要帮助链接到OS X上的bundle全部内容,希望文章能够帮你解决xcode – 需要帮助链接到OS X上的bundle所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)