C++ 对'JNI_CreateJavaVM';的未定义引用;在voce.h中

C++ 对'JNI_CreateJavaVM';的未定义引用;在voce.h中,c++,java-native-interface,C++,Java Native Interface,我正在尝试制作一个可以检测语音的程序,所以我下载了voce来帮助它。在我包含了所有包之后,我得到了错误对'JNI\u CreateJavaVM'的未定义引用。我搜索了一下,没有找到有效的解决方案 我使用Code::Blocks IDE和GNU GCC作为编译器。听起来您没有使用所需的链接器信息编译它 要在其他编译器选项之后执行此操作,您需要添加以下内容: gcc -o myapp -I<path-to-jni-include-files> myapp.c -L <path-to

我正在尝试制作一个可以检测语音的程序,所以我下载了voce来帮助它。在我包含了所有包之后,我得到了错误
对'JNI\u CreateJavaVM'的未定义引用
。我搜索了一下,没有找到有效的解决方案


我使用Code::Blocks IDE和GNU GCC作为编译器。

听起来您没有使用所需的链接器信息编译它

要在其他编译器选项之后执行此操作,您需要添加以下内容:

gcc -o myapp -I<path-to-jni-include-files> myapp.c -L <path-to-libjvm.so> -ljvm
gcc-omyapp-imyapp.c-L-ljvm
-L告诉链接器(编译器将这些选项传递给链接器)在哪里找到它所需的共享库,-ljvm告诉链接器实际需要引用libjvm.so共享库(在Linux上会被调用)

请注意,当前的gcc版本要求在命令行末尾提供链接器选项。从前,你可以把它们按你喜欢的顺序排列。现在他们必须走到尽头了