2

在 .bashrc 中写道:

PYTHONPATH="${PYTHONPATH}:$Home/local/lib/python2.7/site-packages/"
export PYTHONPATH 

LD_LIBRARY_PATH="$Home/local/lib/"
export LD_LIBRARY_PATH

CLASSPATH="/home/stud/qe09kyvu/local/lib/liblpsolve55j.so"
export CLASSPATH

当我尝试运行此命令时:

java -cp .:../lib/lpsolve55j.jar -Djava.library.path=../liblpsolve55j.so Demo

我收到以下错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lpsolve55j in java.library.path

但我不明白这个错误,因为..liblpsolve55j.so

4

2 回答 2

2

要运行 lpsolver,您需要两件事。

  1. 如下所示的平台/操作系统特定二进制文件,您应该将它们保存在相应的库路径中或导出相应的环境特定属性

    • 用于 Windows 的 libsolve55.dll - 您应该将这些文件复制到 system32 或将此路径设置为 LD_LIBRARY_PATH 环境变量
    • libsolve55.so for linux - 您应该将这些文件复制到 /usr/local/lib 或将此路径设置为 LD_LIBRARY_PATH 环境变量
    • libsolve55.dylib for mac - 您应该将这些文件复制到 /usr/local/lib 或将此路径设置为 LD_LIBRARY_PATH 环境变量 DYLD_FALLBACK_LIBRARY_PATH
  2. 用于调用上述二进制文件中存在的 lp_solver 方法的语言特定包装器。对于 Java,您需要 liblpsolve55j.jnilib 和 lpsolve5j.o 文件。这些位置应该添加到 java.library.path 或将它们添加到上述特定于平台的环境变量中。

在您的情况下,您似乎都已在第 2 步中设置好,但您缺少第 1 步。对于第 1 步,您可以在 java.library.path 中包含您已经传递的路径,而不是环境变量。我在下面给你一个例子。

$ java -cp ./Demo.jar:../lib/lpsolve55j.jar -Djava.library.path=/Users/santhoshgandhe/mac_lpsolver/lp_solve_5.5/lpsolve55/bin/osx64:/Users/santhoshgandhe/mac_lpsolver/lp_solve_5 .5_java/lib/mac 演示

于 2015-07-09T00:34:34.407 回答
0

设置 java.library 路径。使用 Eclipse

1.在包资源管理器区域中选择您的项目,然后右键单击它。

2.选择构建路径→配置构建路径...选项。

3.在出现的窗口中,选择库选项卡。

4.然后,展开 JRE System library 选项并选择 Native library location。

5.单击右侧面板上的编辑...按钮。

6.找到所需的库,然后单击确定。

7.关闭窗口。

于 2019-11-06T12:09:58.170 回答