首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成scip.jar (linux)

生成scip.jar (linux)
EN

Stack Overflow用户
提问于 2015-06-09 04:38:36
回答 1查看 136关注 0票数 0

所以我从这里拿到了scip套装并且make了它。然后我访问了scipoptsuite-3.1.1/scip-3.1.1/interfaces/jni,并按照自述文件中的说明进行操作:

代码语言:javascript
复制
1) doxygen jniinterface.dxy
   - generates xml documentation
2) ./createJniInterface.py xml/*
   - uses the xml documentation and creates JNI interface
3) create softlinks to soplex and scip in "lib" folder:
   mkdir ./lib
   cd lib
   ln -s ../../../../soplex-2.0.0 soplex
   ln -s ../../.. scip
   cd ..
4) make soplex
   - creates shared library of Soplex
   - use options (e.g., ZLIB=false GMP=false) as required
5) make scip
   - creates shared library of SCIP
   - use options (e.g., ZIMPL=false READLINE=false ZLIB=false GMP=false)
     as required
6) make
7) test your installation:
   cd examples/JniKnapsack
   make
   make run

最后,当我执行make run时,我得到的是以下错误:

代码语言:javascript
复制
ubuntu@kanga:~/solvers/scipoptsuite-3.1.1/scip-3.1.1/interfaces/jni/examples/JniKnapsack$ make run
./run.sh
java: symbol lookup error: /home/ubuntu/solvers/scipoptsuite-3.1.1/scip-3.1.1/interfaces/jni/lib/libjscip-0.1.linux.x86_64.gnu.opt.spx.so: undefined symbol: SCIPcreate
make: *** [run] Error 127

你知道如何解决这个问题吗?

在某种程度上,我在make上遇到了一些问题。我必须将包含jni.h的文件夹作为"-I“选项添加到生成文件中的gcc。

代码语言:javascript
复制
ubuntu@kanga:~/solvers/scipoptsuite-3.1.1/scip-3.1.1/interfaces/jni$ diff Makefile-ORIG Makefile
55c55,56
< FLAGS     +=  -I$(LIBDIR)/jniinc
---
> #FLAGS        +=  -I$(LIBDIR)/jniinc
> FLAGS     +=  -I/usr/lib/jvm/java-7-openjdk-amd64/include



ubuntu@kanga:~/solvers/scipoptsuite-3.1.1/scip-3.1.1/interfaces/jni$ uname -a
Linux ec2mln0r 3.13.0-49-generic #83-Ubuntu SMP Fri Apr 10 20:11:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

下面是GCC的版本号:

代码语言:javascript
复制
ubuntu@kanga:~/solvers/scipoptsuite-3.1.1/scip-3.1.1/interfaces/jni$ gcc --version
gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2
EN

回答 1

Stack Overflow用户

发布于 2015-06-09 12:38:28

请尝试更改以下接口/jni/Makefile中的规则$(JNILIBFILE)

代码语言:javascript
复制
$(JNILIBFILE):  $(OBJDIR) $(JNILIBHEADERS) $(JNILIBDEP) $(JNILIBOBJFILES)
            @echo "-> generating library $@"
            -rm -f $@
            $(LIBBUILD) $(LIBBUILDFLAGS) $(LIBBUILD_o)$@ \
            $(JNILIBOBJFILES) \
            $(LINKCC_L)$(LIBDIR)/ $(LINKCC_l)$(SCIPLIB)$(LINKLIBSUFFIX) \
            $(LINKCC_l)$(LPILIB)$(LINKLIBSUFFIX) \
            $(LINKCC_l)$(NLPILIB)$(LINKLIBSUFFIX) \
            $(LPSLDFLAGS) $(LDFLAGS)
ifneq ($(RANLIB),)
            $(RANLIB) $@
endif
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30718645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档