java - 在 Java 中加载 cpp 库时如何避免异常?

标签 java c++ java-native-interface

我正在研究 Java。我正在尝试使用以下代码调用在 Java 类中加载 cpp 共享库:

System.loadLibrary("libraryName");

但是加载的cpp库本身包含一些 undefined symbol 。 因此,当我尝试编译 Java 类时,它会抛出异常,如下所示:

Exception in thread "main" java.lang.UnsatisfiedLinkError:libraryName.so:
libraryName.so: undefined symbol: ...

即使它包含 undefined symbol ,我们是否有任何选项可以成功加载 cpp 库?

最佳答案

是的,你可以,但在这种情况下,这个符号/方法/字段是加载库所必需的。在某些情况下,直到程序运行时才会发现丢失的符号。 ;)

加载此库的唯一方法是提供具有所需符号的库。

关于java - 在 Java 中加载 cpp 库时如何避免异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13859192/

相关文章:

java - 如何在tomcat上自动运行webapps

Java Native Interface - 在 Java 中使用第三方 dll 文件

android - NDK - 从静态库构建 ARMv5/ARMv7 共享库

android - DalvikVM 上的 CLI 在 JNI 库上失败

java - Applet 类加载器无法在 applet 的 jar 中找到类

JavaFX 与其他 JavaFX 项目一起部署

C++ vector 分割错误

c++ - template<>(<> 中没有任何类 T)是什么意思?

java - Spring Boot 从配置文件加载列表返回空列表

c++ - 在 DDD 中显示 STL 类