Java 安装pyjnius时出错;jni.h“;没有找到。(操作系统X 10.10.1)
我一直在尝试在OSX10.10.1上安装pyjnius。在处理了其他依赖项之后,我无法解决头文件“jni.h”找不到的问题。下面是发生的情况:Java 安装pyjnius时出错;jni.h“;没有找到。(操作系统X 10.10.1),java,python,macos,osx-yosemite,pyjnius,Java,Python,Macos,Osx Yosemite,Pyjnius,我一直在尝试在OSX10.10.1上安装pyjnius。在处理了其他依赖项之后,我无法解决头文件“jni.h”找不到的问题。下面是发生的情况: $ sudo python setup.py install /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_re
$ sudo python setup.py install
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
warnings.warn(msg)
running install
running build
running build_py
running build_ext
skipping 'jnius/jnius.c' Cython extension (up-to-date)
building 'jnius' extension
cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -I/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c jnius/jnius.c -o build/temp.macosx-10.10-intel-2.7/jnius/jnius.o
jnius/jnius.c:238:10: fatal error: 'jni.h' file not found
#include "jni.h"
^
1 error generated.
error: command 'cc' failed with exit status 1
[如果有什么不同,我已经尝试过使用pip,但它会以相同的错误终止。]
安装的Java版本为1.6.0.65和1.8.0.25。如果需要,我可以在它们之间切换
如果有帮助,我可以使用locate
找到jni.h
。它位于这里:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h
/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/include/jni.h
任何帮助都将不胜感激 好吧,看来我已经很接近答案了。我导航到
/System/Library/Frameworks/JavaVM.Framework/Versions/A
,并创建了一个名为Headers
的目录。然后我符号链接到jni.h
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni.h jni.h
运行安装脚本然后再次抛出一个错误,这次是一个jni\u md.h
。再次进行符号链接
ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/JavaVM.framework/Versions/A/Headers/jni_md.h jni_md.h
-成功了!我再次运行了安装程序,现在可以导入JNIU了
如果有人有一个更简单的解决方法,请发布它