我正在尝试将swig工具用于我的“.c”文件。
我运行以下命令,
$swig -java example.i $gcc -c example.c example_wrap.c -I/c/jdk1.3.1/include -I/c/jdk1.3.1/include/win32
然后我收到了以下错误。
example_wrap.c:135:17: error: jni.h: No such file or directory example_wrap.c:159: error: expected ‘)’ before ‘*’ token example_wrap.c:201: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Java_exampleJNI_My_1variable_1set’ example_wrap.c:211: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘JNICALL’ example_wrap.c:223: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘JNICALL’ example_wrap.c:237: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘JNICALL’ example_wrap.c:253: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘JNICALL’
将会找到jni.h
的位置。以及如何指定包含该路径的路径。
答案 0 :(得分:0)
你真的在使用JDK 1.3吗?这是一个非常古老的版本。
在我的系统上找到它的位置:/usr/lib/jvm/java-6-sun-1.6.0.20/include/jni.h所以我想你已经完成了什么够了......也许这个旧的JDK或你的安装有问题吗?