java - 什么是 LD_LIBRARY_PATH 以及如何使用它?

标签 java c++ environment-variables jacob

我参与开发一个Java项目,它使用了一些C++组件,因此我需要Jacob.dll。 (在 Windows 7 上)

我不断收到 java.lang.UnsatisfiedLinkError: no JacobDB in java.library.path 无论我将 Jacob.dll 放在哪里......

我寻找了可能的决定,到目前为止我还没有尝试过设置 LD_LIBRARY_PATH 变量,指向 .dll 文件。

我没有什么经验,也不熟悉该变量的含义和用法 - 你能帮帮我吗?

最佳答案

LD_LIBRARY_PATH 是 Linux/Unix 中预定义的环境变量,它设置链接器在链接动态库/共享库时应该查看的路径。

LD_LIBRARY_PATH 包含一个冒号分隔的路径列表,链接器将这些路径优先于标准库路径 /lib/usr/lib。仍然会搜索标准路径,但只有在 LD_LIBRARY_PATH 中的路径列表已用尽之后。

使用 LD_LIBRARY_PATH 的最佳方式是在执行程序之前立即在命令行或脚本中设置它。这样,新的 LD_LIBRARY_PATH 将与系统的其余部分隔离。

示例用法:

$ export LD_LIBRARY_PATH="/list/of/library/paths:/another/path"
$ ./program

既然你说的是.dll,你是在windows系统上,.dll必须放在链接器在链接时搜索的路径上,在windows中这个路径由环境变量PATH设置,所以将.dll添加到PATH,它应该可以正常工作了。

关于java - 什么是 LD_LIBRARY_PATH 以及如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7148036/

相关文章:

java - 当我旋转 Android 手机时,Fragment 中的自定义 ListView 就会出现

c++ - bool 值未更改

c++ - SFML 怎么这么快?

c# - 如何在 Visual Studio 中从 C++/CLI 和 C# 调用 C++/CLI?

c++ - getenv - 如何设置环境变量

java - Dropwizard Response.status(Response.Status.NOT_FOUND).build() 返回 html

java - 在 Java 中使用 BigInteger 递归生成 Lucas 系列

java - 关于从 Java servlet 接收数据的几个问题

python-3.x - 如何在 Windows 10 上配置代理进入 GitBash 环境

heroku - 在 yarn package.json 中使用环境变量