我参与开发一个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/