构建时JNI错误
JNI error while building
我遵循"https://netbeans.org/kb/docs/cnd/beginning-jni-linux.html" Netbeans教程的JNI,但当我构建项目时,我在Netbeans输出中得到这个错误:
cd 'E:JanhaviProjectsJNIDemoCdl'
C:cygwin64binmake.exe -f Makefile CONF=Debug clean
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .clean-conf
make[1]: Entering directory '/cygdrive/e/Janhavi/Projects/JNIDemoCdl'
rm -f -r build/Debug
rm -f dist/libJNIDemoCdl.so
make[1]: Leaving directory '/cygdrive/e/Janhavi/Projects/JNIDemoCdl'
CLEAN SUCCESSFUL (total time: 356ms)
cd 'E:JanhaviProjectsJNIDemoCdl'
C:cygwin64binmake.exe -f Makefile CONF=Debug
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory '/cygdrive/e/Janhavi/Projects/JNIDemoCdl'
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/libJNIDemoCdl.so
make[2]: Entering directory '/cygdrive/e/Janhavi/Projects/JNIDemoCdl'
mkdir -p build/Debug/Cygwin-Windows/_ext/4d151f2
rm -f "build/Debug/Cygwin-Windows/_ext/4d151f2/JNIDemo.o.d"
gcc -shared -m64 -c -g -I/cygdrive/C/Program Files/Java/jdk1.7.0_79/include -I/cygdrive/C/Program Files/Java/jdk1.7.0_79/include/win32 -include /cygdrive/C/Program Files/Java/jdk1.7.0_79/include -include /cygdrive/C/Program Files/Java/jdk1.7.0_79/include/win32 -MMD -MP -MF "build/Debug/Cygwin-Windows/_ext/4d151f2/JNIDemo.o.d" -o build/Debug/Cygwin-Windows/_ext/4d151f2/JNIDemo.o /cygdrive/E/Janhavi/Projects/JNIDemoCdl/JNIDemo.c
cc1: fatal error: /cygdrive/C/Program Files/Java/jdk1.7.0_79/include: No such file or directory
compilation terminated.
make[2]: *** [nbproject/Makefile-Debug.mk:68: build/Debug/Cygwin-Windows/_ext/4d151f2/JNIDemo.o] Error 1
make[2]: Leaving directory '/cygdrive/e/Janhavi/Projects/JNIDemoCdl'
make[1]: *** [nbproject/Makefile-Debug.mk:59: .build-conf] Error 2
make[1]: Leaving directory '/cygdrive/e/Janhavi/Projects/JNIDemoCdl'
make: *** [nbproject/Makefile-impl.mk:40: .build-impl] Error 2
BUILD FAILED (exit value 2, total time: 557ms)
这是我第一次尝试使用JNI,我有点卡在这一点上。请告诉我哪里出错了?
您的JNIDemoCdl
正在cygwin64内部调用make。这就是为什么在cygwin挂载的驱动器中执行每个目录名称时,会在它们前面显示/cygdrive
的原因。
我认为问题在于'程序文件'中的空间,您最终得到:
cc1: fatal error:/cygdrive/C/Program Files/Java/jdk1.7.0_79/include:没有这样的文件或目录编译终止。
尝试将/Java/jdk1.7.0_79/
存储在名称中没有空间的目录下并重新构建项目
相关文章:
- JNI 在应用程序中检测到错误:在为 innerclass 调用 NewObject 时使用了无效的 jobject
- 使用本机 JNI 静态方法实现C++ Java 运行时错误
- 有时只得到 jni segv_accer或segv_mapper错误
- Android (ART) 崩溃并显示错误 JNI 在应用程序中检测到错误:jstring 是无效的本地引用
- JNI 不满意链接错误: 动态链接库 (DLL) 初始化例程失败
- C++ JNI 不满意的链接错误
- Java JNI GDAL 本机库在重新部署为 Web 应用程序时出现类加载器错误
- 任何人都可以在带有JNI的Android Studio上帮助我解决此错误,是否缺少一些内容?
- 在 JNI 中使用错误的代码将 jbytearray 转换为 char*
- Android JNI 未定义对错误 c++ 方法的引用
- JNI - WMI 连接错误
- JNI 代码返回字符串,但得到错误 java.lang.UnsatisfiedLinkError: com.packag
- 在创建新对象时,尝试将参数提供给JNI对象的构造函数时会出现错误
- JNI检测到应用程序中的错误:使用已删除的弱全局参考
- 从WordCount Hadoop示例调用Helloworld Jni函数,给出错误Java.lang.unsatisf
- 发生 JNI 调用 c++ dll "不满意链接错误: 对内存位置的无效访问"
- 返回数组点列表的 JNI 方法中的错误
- JNI 和 C++ - 不满意的链接错误
- 正在构建用于Oracle jvm的avahi(错误:jni.h未找到)
- 错误:JNI方法的类型冲突