Java Windows\System32\lpsolve55j.dll:Can';找不到依赖库

Java Windows\System32\lpsolve55j.dll:Can';找不到依赖库,java,maven,lpsolve,Java,Maven,Lpsolve,当我尝试使用LPSolve for Java(mavenized版本,)时,出现以下错误: java.lang.UnsatisfiedLinkError: C:\Windows\System32\lpsolve55j.dll: Can't find dependent libraries at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary

当我尝试使用LPSolve for Java(mavenized版本,)时,出现以下错误:

java.lang.UnsatisfiedLinkError: C:\Windows\System32\lpsolve55j.dll: Can't find dependent libraries
     at java.lang.ClassLoader$NativeLibrary.load(Native Method)
     at java.lang.ClassLoader.loadLibrary0(Unknown Source)
     at java.lang.ClassLoader.loadLibrary(Unknown Source)
     at java.lang.Runtime.loadLibrary0(Unknown Source)
     at java.lang.System.loadLibrary(Unknown Source)
     at lpsolve.LpSolve.<clinit>(LpSolve.java:274)
java.lang.UnsatifiedLink错误:C:\Windows\System32\lpsolve55j.dll:找不到依赖库
位于java.lang.ClassLoader$NativeLibrary.load(本机方法)
位于java.lang.ClassLoader.loadLibrary0(未知源)
位于java.lang.ClassLoader.loadLibrary(未知源)
位于java.lang.Runtime.loadLibrary0(未知源)
位于java.lang.System.loadLibrary(未知源)
在lpsolve.lpsolve.(lpsolve.java:274)

  • 将lpsolve55j.dll放入Windows\System32并
  • 将目录C:\Program Files\LPSolve IDE添加到PATH环境变量
该错误既发生在eclipse(测试用例)中,也发生在“mvn测试”的执行过程中

这些都没有帮助


如何修复此错误?

我做了以下操作,似乎有效:

  • 下载了适合我的处理器的开发包(64位)
  • 将存档文件解压缩到文件夹中
  • 已将lpsolve55j.jar和lpsolve55j.dll从步骤2复制到目录中
  • 将步骤2中的目录添加到路径中
  • 将步骤2中目录中的lpsolve55j.jar包含到我的java项目中(作为外部目录)

  • 现在它工作了。

    我做了以下事情,它100%工作:

    Downloaded these two files "lpsolve55.dll" & "lpsolve55j.dll"
    Copy these files and paste inside these folders "C:\Program Files\Java\jdk1.6.0_25\bin" and "C:\Program Files\Java\jre6\bin"
    Put these two files "lpsolve55.dll" & "lpsolve55j.dll" in your project Folder also.
    

    现在它可以工作了。

    对于我的Windows 64位maven,我刚刚下载了lp_solve_5.5.2.5_dev_win64.zip和lp_solve_5.5.2.5_java.zip,解压它们可以做以下两件事:

    1) add lpsolve55j.jar to maven dependency, in my case it is as follows:
              <dependency>
                <groupId>lpsolver55j</groupId>
                <artifactId>lpsolve55j</artifactId>
                <scope>system</scope>
                <systemPath>${basedir}/lib/lpsolve55j.jar</systemPath>
                <version>55</version>
            </dependency>   
    2) put lpsolve55.dll, lpsolve55j.dll into C:\Windows\System32. Be sure these two dlls are both 64 bit.
    
    LPSolve的设置

    1.转到->单击LpSolve 您将看到LPSolve的不同版本。 下载lp_solve_5.5.2.5_dev_win64.zip(根据处理器类型) lp_solve_5.5.2.5_java.zip(适用于java)

    2.提取两个文件(lp_solve_5.5.2.5_dev_win64和lp_solve_5.5.2.5_java文件夹)

    3.使用eclipse创建maven项目。(演示项目)

    4.转到lp_solve_5.5.2.5_java文件夹并复制lib文件夹,然后将其粘贴到项目目录的根目录中。 (lib文件夹包含处理器类型(win64、win32等)的支持文件和LPSolve的jar文件,即“lpsolve55j.jar”)

    5.右键单击演示项目->构建路径->配置构建路径->库->添加外部jar->导航到项目目录->库->选择“lpsolve55j.jar”->打开->应用->应用并关闭

    6.转到lp_solve_5.5.2.5_dev_win64文件夹副本“lpsolve55.dll”并将其粘贴到C:\Windows文件夹中

    7.转到lib->win64->复制“lpsolve55j.dll”并将其粘贴到C:\Windows文件夹中

    8.创建一个新的类演示

    九,。将此作为参考指南

    10.复制并粘贴简单示例并运行应用程序

    import lpsolve.*;
    public class Demo {
    
      public static void main(String[] args) {
        try {
          // Create a problem with 4 variables and 0 constraints
          LpSolve solver = LpSolve.makeLp(0, 4);
    
          // add constraints
          solver.strAddConstraint("3 2 2 1", LpSolve.LE, 4);
          solver.strAddConstraint("0 4 3 1", LpSolve.GE, 3);
    
          // set objective function
          solver.strSetObjFn("2 3 -2 3");
    
          // solve the problem
          solver.solve();
    
          // print solution
          System.out.println("Value of objective function: " + solver.getObjective());
          double[] var = solver.getPtrVariables();
          for (int i = 0; i < var.length; i++) {
            System.out.println("Value of var[" + i + "] = " + var[i]);
          }
    
          // delete the problem and free memory
          solver.deleteLp();
        }
        catch (LpSolveException e) {
           e.printStackTrace();
        }
      }
    }
    
    导入lpsolve.*;
    公开课演示{
    公共静态void main(字符串[]args){
    试一试{
    //创建一个具有4个变量和0个约束的问题
    LpSolve solver=LpSolve.makeLp(0,4);
    //添加约束条件
    求解器。斯特拉德约束(“3 2 1”,LpSolve.LE,4);
    求解器.strAddConstraint(“0 4 3 1”,LpSolve.GE,3);
    //设定目标函数
    解算器。strestobjfn(“23-23”);
    //解决问题
    solver.solve();
    //打印溶液
    System.out.println(“目标函数的值:+solver.getObjective());
    double[]var=solver.getPtrVariables();
    对于(int i=0;i
    如果您遇到此错误:java.lang.UnsatifiedLinkError no lpsolve55j in java.library.path

    设置java.library路径。使用Eclipse

    1.在Package Explorer区域中选择您的项目,然后右键单击它

    2.选择构建路径→ 配置生成路径。。。选择权

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

    4.然后,展开JRE系统库选项并选择本机库位置

    5.单击“编辑…”。。。右面板上的按钮

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


    7.关闭窗口。

    我也有同样的问题!
    import lpsolve.*;
    public class Demo {
    
      public static void main(String[] args) {
        try {
          // Create a problem with 4 variables and 0 constraints
          LpSolve solver = LpSolve.makeLp(0, 4);
    
          // add constraints
          solver.strAddConstraint("3 2 2 1", LpSolve.LE, 4);
          solver.strAddConstraint("0 4 3 1", LpSolve.GE, 3);
    
          // set objective function
          solver.strSetObjFn("2 3 -2 3");
    
          // solve the problem
          solver.solve();
    
          // print solution
          System.out.println("Value of objective function: " + solver.getObjective());
          double[] var = solver.getPtrVariables();
          for (int i = 0; i < var.length; i++) {
            System.out.println("Value of var[" + i + "] = " + var[i]);
          }
    
          // delete the problem and free memory
          solver.deleteLp();
        }
        catch (LpSolveException e) {
           e.printStackTrace();
        }
      }
    }