java - -Djava.library.path 没有链接 .so 库

标签 java linux shared-libraries static-libraries static-linking

我需要在执行 .jar 应用程序时链接特定的库。 我修改了变量 LD_LIBRARY_PATH 并添加(作为第一个目录)包含所需库的文件夹的路径。我还尝试使用选项 -Djava.library.path="path_to_.so" 执行应用程序,但结果相同。

具体来说,我得到的结果是:

Exception in thread "main" java.lang.UnsatisfiedLinkError: /.../application/lib64/libshmlib.so: 
/lib64/libc.so.6: version `GLIBC_2.14' not found (required by /.../another_application/lib64/libshmlib.so)

除了前面提到的之外,还有其他加载库的选项吗?

最佳答案

LD_PRELOAD='path/of/lib.so' ./program 基本上在执行给定程序时先加载给定库。所以如果你需要加载一个具体的库,这是最好的选择

关于java - -Djava.library.path 没有链接 .so 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40378679/

相关文章:

java - 一组小型库与单个大型 Java 库的性能比较

java - 如何在JTable中裁剪选定的数据?

java - 如何配置我的 Android 应用程序?

java - iReport 2.0.4 - UnsupportedOperationException

java - spring 登录失败后获取用户名

linux - 在 Ubuntu 13.04 (-g) 上查找 node_modules

php - 安装linux raspberry的mysql-server失败(没有剩余空间)

linux - 创建一个较短版本的 bash 命令

linux - 链接到 linux 共享库

c - 无法从共享对象打印到文件