繁体   English   中英

在Linux 2中的Java中编译Cplex

[英]Compile Cplex in java in linux 2

我试图为它运行file.java和file.class我需要使用Cplex库(优化问题),使用

$ javac -cp /home/apps/cplex/12.6.1/cplex/lib/cplex.jar file.java
$ java -cp /home/apps/cplex/12.6.1/cplex/lib/cplex.jar:. file

当我在linux中的Java中编译Cplex中询问时,建议使用wich。 我终于结束了我的文件的更正(在Windows中无法在Windows中运行的东西),第一行工作了,但是在第二行中出现了此错误...

java.lang.UnsatisfiedLinkError: no cplex1261 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=...
Exception in thread "main" java.lang.UnsatisfiedLinkError: ilog.cplex.Cplex.CPXopenCPLEX([I)J
        at ilog.cplex.Cplex.CPXopenCPLEX(Native Method)
        at ilog.cplex.CplexI.init(CplexI.java:6608)
        at ilog.cplex.CplexI.<init>(CplexI.java:629)
        at ilog.cplex.IloCplex.<init>(IloCplex.java:10194)
        at ilog.cplex.IloCplex.<init>(IloCplex.java:10209)
        at memoria.bosques.problemafull(bosques.java:11395)
        at memoria.bosques.main2(bosques.java:17829)
        at memoria.bosques.main(bosques.java:18014)

我尝试替换java -Djava.library.path = / home / apps / cplex / 12.6.1 / cplex / lib / cplex.jar而不是-cp /home/apps/cplex/12.6.1/cplex/lib/cplex。罐子,但也不起作用。 错误发生在我定义Cplex的第一时间(在此之前运行良好)

IloCplex cplex = new IloCplex();

我该怎么解决我的问题?

您需要完全按照错误消息中的建议进行操作。 并使用指向cplex共享模块位置的-Djava.library.path调用java

像这样:

java -cp /home/apps/cplex/12.6.1/cplex/lib/cplex.jar:. -Djava.library.path=/path/to/libcplex121.so file

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM