Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OSX上具有多个C文件的JNI的未满足链接错误_Java_C_Macos_Gcc_Java Native Interface - Fatal编程技术网

Java OSX上具有多个C文件的JNI的未满足链接错误

Java OSX上具有多个C文件的JNI的未满足链接错误,java,c,macos,gcc,java-native-interface,Java,C,Macos,Gcc,Java Native Interface,我已经能够使用一个C文件使JNI示例在OSX上工作,例如。但是当我试图创建一个链接到其他C文件的makefile时,我会遇到可怕的“UnsatifiedLinkError” 在github 下面是键入“makejava”的结果: gcc-c-Wall-Os-std=gnu99-I-fnested functions-fms extensions-DDEBUG vm.c-o vm.o gcc-c-Wall-Os-std=gnu99-I-fnested functions-fms extension

我已经能够使用一个C文件使JNI示例在OSX上工作,例如。但是当我试图创建一个链接到其他C文件的makefile时,我会遇到可怕的“UnsatifiedLinkError”

在github

下面是键入“makejava”的结果:

gcc-c-Wall-Os-std=gnu99-I-fnested functions-fms extensions-DDEBUG vm.c-o vm.o
gcc-c-Wall-Os-std=gnu99-I-fnested functions-fms extensions-DDEBUG struct.c-o struct.o
gcc-c-Wall-Os-std=gnu99-I-fnested functions-fms extensions-DDEBUG serial.c-o serial.o
gcc-c-Wall-Os-std=gnu99-I-fnested functions-fms extensions-DDEBUG compile.c-o compile.o
gcc-c-Wall-Os-std=gnu99-I-fnested functions-fms extensions-DDEBUG util.c-o util.o
gcc-c-Wall-Os-std=gnu99-I-fnested functions-fms extensions-DDEBUG sys.c-o sys.o
gcc-c-墙-Os-std=gnu99-I-fnested函数-fms扩展-DDEBUG变量.c-o变量.o
gcc-c-Wall-Os-std=gnu99-I-fnested functions-fms extensions-DDEBUG exploration.c-o exploration.o
gcc-c-Wall-Os-std=gnu99-I-fnested functions-fms extensions-DDEBUG hal_stub.c-o hal_stub.o
gcc-c-Wall-Os-std=gnu99-I-fnested functions-fms extensions-DDEBUG node.c-o node.o
gcc-c-Wall-Os-std=gnu99-I-fnested functions-fms extensions-DDEBUG file.c-o file.o
javac javagree.java
javah-jni javagree
cc-c-fPIC-I/System/Library/Frameworks/JavaVM.framework/Headers-javagree.c-o libjavagree.o
libtool-dynamic-lSystem vm.o struct.o serial.o compile.o util.o sys.o variable.o exploration.o
hal_stub.o node.o file.o libjavagree.o-o libjavagree.dylib-macosx_version_min 10.8

$java javagree
线程“main”java.lang.UnsatifiedLinkError中出现异常:javagree.filagree(Ljava/lang/Object;[Ljava/lang/Object;)J
在javagree.filagree(本机方法)
在javagree.main(javagree.java:46)

问题是:当我链接更多的文件时,为什么它找不到函数?我没有正确链接吗