当前位置: 首页 > 面试题库 >

尽管设置了Djava.library.path变量,但仍不满意LinkError

白星腾
2023-03-14
问题内容

我正在尝试将IBM的CPLEX库与我的Java应用程序集成。现在,我只是试图创建一个IloCplex对象。我添加了Cplex.jar,它可以很好地编译,但是当我运行它时:

public class cplexTest{
    public static void main(String[] args){
        try{
            IloCplex cplex = new IloCplex();
        }catch (Exception e){
            e.printStackTrace();
        }
}

Cplex在抛出异常之前打印此消息:

java.lang.UnsatisfiedLinkError: no cplex124 in java.library.path  
java.library.path must point to the directory containing the CPLEX shared library  
try invoking java with java -Djava.library.path=...

我通过这个参数给JVM: -Djava.library.path="C:\Program Files\IBM\ILOG\CPLEX_Studio124\cplex\bin\x64_win64。这是cplex124.dll的位置。我看过的每个教程都给出了相同的步骤,我觉得自己很好地遵循了它们。

我究竟做错了什么??


问题答案:

我在互连网上发现的是导致此问题的一个可能原因是dll是32位还是64位,而Java是相反的体系结构。

尝试验证您的java和cplex.dll是否匹配。



 类似资料:
  • 这是我在这里的第一个问题,所以如果我做错了什么,我提前道歉。 如你所知,不和谐最近实施了一些改变,这使得有必要激活特权网关意图,这样机器人就可以继续欢迎新成员并给他们角色。 我的机器人在一个服务器中,所以我同时授予它PRESENCE INTENT和SERVER MEMBERS INTENT。我的印象是,这应该足以让机器人重新开始正常工作,但可悲的是,它仍然不欢迎新成员,也没有给它自定义角色。其他一

  • 我希望存储在redis缓存中的数据在给定的时间段后自动从缓存中清除,而无需对其调用delete方法。在这个POC中,我将TTL设置为60秒。我曾尝试在缓存管理器中使用API SetDefaultExpire、setExpires设置它,并在RedisTemplate中使用API expire设置它。到目前为止,没有一个解决方案对我有效。 在使用的redis存储库中, 请给我指出正确的方向。感谢您的

  • ldd找不到rpath定义中存在的dll。找到了其他一些库(check/./../lib/*) 这里是 ldd 的输出(我们可以看到在 ../lib,但不是自由 root@hyperstream:/DT/local/ADE-trunk4/build-ADE-Desktop-Default/bin#ldd./ade_adminlinux-vdso.so.1= root@hyperstream:/DT

  • 尽管在所有项目设置中(包括在中)都指定了JDK 1.7,但在尝试编译一些使用diamond运算符的简单Java 7代码时会产生以下错误: 配置中是否有其他地方应该启用预期的选项?

  • 问题内容: 我不明白…是我还是这是节点中的错误? 可以按预期进行: 这发出了警告: 我懂了 问题答案: 使用与承诺回报新希望(这就是所谓的链接)。因此,当您执行以下操作时: 您的最初承诺在哪里,您将在第1行上创建一个新的承诺(现在不再存在。我们称它为 )。因此,即使您使用with ,也不会处理上的拒绝,这解释了您在控制台上看到的消息。 为了避免出现此消息,您应该在第1行的新承诺中添加a

  • 当我跑步时 $ionic cordova构建android 构建失败,出现此错误: Cordova build android找不到ANDROID_HOME环境变量。尝试设置它 尽管当我跑步时: 科尔多瓦要求 我得到以下结果: android的需求检查结果: Java JDK:已安装1.8.0 Android SDK:安装正确 Android目标:安装android-29、android-28、a