编译JNI示例 我试图用JNI调用C++程序中的java程序。供应商已经安装了一些电话设备,它只使用C++。我想写一个屏幕PopPar,但不想在C++中这样做,所以希望通过电话事件的发生,并把数字转换成一个java例程来处理。我使用Netbeans是因为它使编码更容易(通常是!)。我以前没有做C++,所以我想逃到java ASAP!

编译JNI示例 我试图用JNI调用C++程序中的java程序。供应商已经安装了一些电话设备,它只使用C++。我想写一个屏幕PopPar,但不想在C++中这样做,所以希望通过电话事件的发生,并把数字转换成一个java例程来处理。我使用Netbeans是因为它使编码更容易(通常是!)。我以前没有做C++,所以我想逃到java ASAP!,java,java-native-interface,cygwin,sample,Java,Java Native Interface,Cygwin,Sample,我在这里遵照指示: 它似乎是如何调用C++中的java例程,但我不能编译它。我在这个网站上得到了很多帮助,但现在我被难住了 我在项目的编译器选项中添加了“-D_uuint64=long long”开关,并在应用程序包含路径中添加了Java库。我已经使用代码帮助重新解析了代码。但现在我只剩下这个错误: 所有源文件都在F:\javaDeV下,SAMPLE 2是C++,SAMPLE 3是java。我还需要从Cygwin那里得到什么吗?它似乎说“long”有问题,但这只发生在交换机中,没有它,它的故障

我在这里遵照指示: 它似乎是如何调用C++中的java例程,但我不能编译它。我在这个网站上得到了很多帮助,但现在我被难住了

我在项目的编译器选项中添加了“-D_uuint64=long long”开关,并在应用程序包含路径中添加了Java库。我已经使用代码帮助重新解析了代码。但现在我只剩下这个错误:


所有源文件都在F:\javaDeV下,SAMPLE 2是C++,SAMPLE 3是java。我还需要从Cygwin那里得到什么吗?它似乎说“long”有问题,但这只发生在交换机中,没有它,它的故障更严重,说_int64没有类型

我假设您确实这样做了,因为参数中有一个空格。如果您有一个可以调用的DLL,我建议使用JNA而不是JNI。谢谢Peter,我现在已经完全按照您的建议输入了开关,它已经修复了这个问题,并公开了更多内容。代码将“not”作为变量名包含(固定),此行为:options[0]。optionString=“-Djava.class.path=”;我也将研究这个问题,但是如果有人建议使用一个JNI教程/ C++调用java实例,它实际上是用当前版本工作的,我会非常感激。以上只是警告,并在D.之后放了一个空间,现在有一个错误:Mc.CPP:30:21:错误:“->”的基本操作数有非指针类型。'JNIEnv'{mid=(*env)->GetStaticMethodID(env,cls,“intMethod”,“I)I”);这有点复杂。同样,如果有人知道一个正在工作的JNI示例,我会非常感兴趣。
make[1]: Entering directory '/cygdrive/f/Javadev/Sample2'
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/Cygwin_4.x-Windows/sample2.exe
make[2]: Entering directory '/cygdrive/f/Javadev/Sample2'
mkdir -p build/Debug/Cygwin_4.x-Windows
rm -f build/Debug/Cygwin_4.x-Windows/main.o.d
g++.exe -D__int64=long long   -c -g -I/cygdrive/C/Program\ Files\ \(x86\)/Java/jdk1.6.0_33/include/win32 -I/cygdrive/C/Program\ Files\ \(x86\)/Java/jdk1.6.0_33/include -MMD -MP -MF build/Debug/Cygwin_4.x-Windows/main.o.d -o build/Debug/Cygwin_4.x-Windows/main.o main.cpp
nbproject/Makefile-Debug.mk:65: recipe for target 'build/Debug/Cygwin_4.x-Windows/main.o' failed
make[2]: Leaving directory '/cygdrive/f/Javadev/Sample2'
nbproject/Makefile-Debug.mk:58: recipe for target '.build-conf' failed
make[1]: Leaving directory '/cygdrive/f/Javadev/Sample2'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
g++: error: long: No such file or directory
make[2]: *** [build/Debug/Cygwin_4.x-Windows/main.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2