首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:安装cplexAPI错误

R:安装cplexAPI错误
EN

Stack Overflow用户
提问于 2017-01-12 16:44:27
回答 5查看 1.6K关注 0票数 2

我正在尝试在R中使用cplexAPI,我得到了持续的错误。我正在使用MicrosoftROpen3.3.1,并在Windows 10上安装了ILOG优化Studio版本: 12.7.0.0。我要详细介绍一下,希望你能看到我的错误!

  1. 将tar文件解压缩到桌面上的文件夹中。
  2. 编辑文件:C:\Users\zejas\Desktop\cplexAPI\cplexAPI\src\Makevars.win,可以说:
代码语言:javascript
复制
 `PKG_CPPFLAGS=-g -D_R_=1 -DUSE_R=1 -I"$C:\Program  Files\IBM\ILOG\CPLEX_Studio127\cplex\include"     PKG_LIBS=-L"$C:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\lib" -lm -lcplex1270` 
  1. 微软在Reviron.site文件上做了自己的修改。他们在文件中添加了Rcmd_environC:\Program Files\Microsoft\MRO-3.3.1\etc\Rcmd_environ,我在文件中添加了最后三行:
代码语言:javascript
复制
 `## from R.sh     R_SHARE_DIR=${R_HOME}/share     R_INCLUDE_DIR=${R_HOME}/include     R_DOC_DIR=${R_HOME}/doc     R_ARCH=     ## from Rcmd     R_OSTYPE=windows     TEXINPUTS=.;${TEXINPUTS};${R_SHARE_DIR}/texmf/tex/latex;     BIBINPUTS=.;${BIBINPUTS};${R_SHARE_DIR}/texmf/bibtex/bib;     BSTINPUTS=.;${BSTINPUTS};${R_SHARE_DIR}/texmf/bibtex/bst;     ## from etc/Renviron     # R_PLATFORM='i386-pc-mingw32'     R_PAPERSIZE_USER=${R_PAPERSIZE}     R_PAPERSIZE=${R_PAPERSIZE-'a4'}     # for Rd2dpf, reference manual     R_RD4PDF=${R_RD4PDF-'times,inconsolata,hyper'}     ## used for options("texi2dvi")     # R_TEXI2DVICMD=${R_TEXI2DVICMD-${TEXI2DVI-'texi2dvi'}}     ## used by INSTALL, check, build     R_GZIPCMD=${R_GZIPCMD-'gzip'}     ## Default zip/unzip commands     R_UNZIPCMD=${R_UNZIPCMD-'unzip'}     R_ZIPCMD=${R_ZIPCMD-'zip'}     R_BZIPCMD=${R_BZIPCMD-'bzip2'}     ## Default browser     # R_BROWSER=${R_BROWSER-'open'}     ## Default editor     # EDITOR=${EDITOR-${VISUAL-vi}}     ## Default pager     # PAGER=${PAGER-''}     ## Default PDF viewer     # R_PDFVIEWER=${R_PDFVIEWER-'open'}     # MAKE=${MAKE-make}     SED=${SED-sed}     #     CPLEX_STUDIO_DIR=C:/Program Files/IBM/ILOG/CPLEX_Studio127      CPLEX_STUDIO_LIB=C:/Program Files/IBM/ILOG/CPLEX_Studio127/cplex/bin/x64_win64` 
  1. Environment Variables System Variables Path中,我已经添加了:
代码语言:javascript
复制
 `%CPLEX_STUDIO_BINARIES127%;     C:\Program Files (x86)\Intel\OpenCL SDK\6.1\bin\x64;     C:\Program Files (x86)\Intel\OpenCL SDK\6.1\bin\x86;     C:\Program Files (x86)\Intel\OpenCL SDK\6.1\bin\Pin;     C:\Program Files (x86)\Intel\OpenCL SDK\6.1\bin\GTPin;     C:\ProgramData\Oracle\Java\javapath;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin;     C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\libnvvp;     C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;     C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;     C:\Windows\System32\WindowsPowerShell\v1.0\;     C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;     C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;     C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;     C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;     C:\Program Files (x86)\Skype\Phone\;     C:\Program Files\MATLAB\R2016b\bin;     C:\Program Files\MATLAB\R2016a\bin;     C:\Program Files\Microsoft\MRO-3.3.1\bin\x64;     C:\Users\zejas\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;     C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;     C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;     C:\WINDOWS\system32;C:\WINDOWS;     C:\WINDOWS\System32\Wbem;     C:\WINDOWS\System32\WindowsPowerShell\v1.0\;     C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;     C:\Program Files\Git\cmd;     C:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\bin\x64_win64;     C:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\include;     C:\Rtools\bin` 
  1. 我重建了这个包裹:
代码语言:javascript
复制
 `C:\Users\zejas>R CMD build --no-build-vignettes --no-manual  --md5 C:\Users\zejas\Desktop\cplexAPI\cplexAPI     * checking for file 'C:\Users\zejas\Desktop\cplexAPI\cplexAPI/DESCRIPTION' ... OK     * preparing 'cplexAPI':     * checking DESCRIPTION meta-information ... OK     * cleaning src     * checking vignette meta-information ... OK     * checking for LF line-endings in source and make files     * checking for empty or unneeded directories     * adding MD5 file     * building 'cplexAPI_1.3.2.tar.gz'     Warning: file 'cplexAPI/cleanup' did not have execute permissions: corrected     Warning: file 'cplexAPI/configure' did not have execute permissions: corrected` 
  1. 我试图安装该软件包:
代码语言:javascript
复制
 `C:\Users\zejas>"C:\Program Files\Microsoft\MRO-3.3.1\bin\x64\R.exe" CMD  INSTALL --build --no-multiarch ./cplexAPI.tar.gz     * installing to library 'C:/Users/zejas/Documents/R/win-library/3.3'     * installing *source* package 'cplexAPI' ...     ** package 'cplexAPI' successfully unpacked and MD5 sums checked     ** libs     c:/Rtools/mingw_64/bin/gcc -m64 -I"C:/PROGRA~1/MICROS~1/MRO-33~1.1/include"  -DNDEBUG -g -D_R_=1 -DUSE_R=1 -I":\Program  Files\IBM\ILOG\CPLEX_Studio127\cplex\include"    -I"C:/swarm/workspace/External- R-3.3.1/vendor/extsoft/include"     -O2 -Wall  -std=gnu99 -mtune=core2 -c  cplexAPI.c -o cplexAPI.o     In file included from cplexAPI.h:26:0, from cplexAPI.c:26:     cplexR.h:50:27: fatal error: ilcplex/cplex.h: No such file or directory     #include <ilcplex/cplex.h>                              ^     compilation terminated.     make: *** [cplexAPI.o] Error 1     Warning: running command 'make -f "Makevars.win" -f    "C:/PROGRA~1/MICROS~1/MRO-33~1.1/etc/x64/Makeconf" -f "C:/PROGRA~1/MICROS~1/MRO-  33~1.1/share/make/winshlib.mk" SHLIB="cplexAPI.dll" WIN=64 TCLBIN=64   OBJECTS="cplexAPI.o cplexR.o cplex_checkAPI.o cplex_longparamAPI.o init.o"' had   status 2     ERROR: compilation failed for package 'cplexAPI'     * removing 'C:/Users/zejas/Documents/R/win-library/3.3/cplexAPI'` 

该目录中绝对有一个cplex.h文件!

代码语言:javascript
复制
C:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\include\ilcplex>dir

 Volume in drive C is OS
 Volume Serial Number is 0A1B-3F26
 Directory of C:\Program    Files\IBM\ILOG\CPLEX_Studio127\cplex\include\ilcplex
01/09/2017  10:43 AM    <DIR>          .
01/09/2017  10:43 AM    <DIR>          ..
01/09/2017  10:43 AM             2,499 annotation.xsd
01/09/2017  10:43 AM            72,321 cplex.h
01/09/2017  10:43 AM             6,429 cplexcheck.h
01/09/2017  10:43 AM             1,703 cplexdistmip.h
01/09/2017  10:43 AM             1,857 cplexdistmipl.h
01/09/2017  10:43 AM             1,857 cplexdistmips.h
01/09/2017  10:43 AM             2,569 cplexdistmipx.h
01/09/2017  10:43 AM            76,659 cplexl.h
01/09/2017  10:43 AM             2,826 cplexremote.h
01/09/2017  10:43 AM             2,944 cplexremotel.h
01/09/2017  10:43 AM           111,312 cplexremotemaster.h
01/09/2017  10:43 AM           107,895 cplexremotemasterl.h
01/09/2017  10:43 AM           107,777 cplexremotemasters.h
01/09/2017  10:43 AM           220,496 cplexremotemasterx.h
01/09/2017  10:43 AM             2,944 cplexremotes.h
01/09/2017  10:43 AM             3,379 cplexremoteworker.h
01/09/2017  10:43 AM             3,505 cplexremoteworkerl.h
01/09/2017  10:43 AM             3,511 cplexremoteworkers.h
01/09/2017  10:43 AM             4,554 cplexremoteworkerx.h
01/09/2017  10:43 AM             3,289 cplexremotex.h
01/09/2017  10:43 AM            76,354 cplexs.h
01/09/2017  10:43 AM           119,712 cplexx.h
01/09/2017  10:43 AM            70,061 cpxconst.h
01/09/2017  10:43 AM               675 ilm.h
01/09/2017  10:43 AM             7,158 ilocarray.h
01/09/2017  10:43 AM           186,959 ilocplex.h
01/09/2017  10:43 AM           205,973 ilocplexi.h
01/09/2017  10:43 AM            13,174 iloextrmgr.h
01/09/2017  10:43 AM            13,496 ilogoals.h
01/09/2017  10:43 AM            15,241 iloparam.h
01/09/2017  10:43 AM             5,705 solution.xsd
01/09/2017  10:43 AM             5,504 solution.xsl
01/09/2017  10:43 AM             1,397 vmc.dtd
01/09/2017  10:43 AM             2,837 vmc.xsd
34 File(s)      1,464,572 bytes
2 Dir(s)  333,053,566,976 bytes free

有什么想法吗?

使用@c0bra和@rkersh的输入进行更新

我更新Makevars.win

代码语言:javascript
复制
PKG_CPPFLAGS=-g -D_R_=1 -DUSE_R=1 -I"C:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\include"
PKG_LIBS=-L"C:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\lib" -lm -lcplex1270

在命令行重新构建:

代码语言:javascript
复制
C:\Users\zejas>R CMD build --no-build-vignettes --no-manual  --md5     C:\Users\zejas\Desktop\cplexAPI\cplexAPI
* checking for file 'C:\Users\zejas\Desktop\cplexAPI\cplexAPI/DESCRIPTION' ... OK
* preparing 'cplexAPI':
* checking DESCRIPTION meta-information ... OK
* cleaning src
* checking vignette meta-information ... OK
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
* adding MD5 file
* building 'cplexAPI_1.3.2.tar.gz'
Warning: file 'cplexAPI/cleanup' did not have execute permissions: corrected
Warning: file 'cplexAPI/configure' did not have execute permissions: corrected

我试图从命令行安装:

代码语言:javascript
复制
C:\Users\zejas>"C:\Program Files\Microsoft\MRO-3.3.1\bin\x64\R.exe" CMD  INSTALL --build --no-multiarch .\cplexAPI_1.3.2.tar.gz
* installing to library 'C:/Users/zejas/Documents/R/win-library/3.3'
* installing *source* package 'cplexAPI' ...
** package 'cplexAPI' successfully unpacked and MD5 sums checked
** libs
c:/Rtools/mingw_64/bin/gcc -m64 -I"C:/PROGRA~1/MICROS~1/MRO-33~1.1/include" -DNDEBUG -g -D_R_=1 -DUSE_R=1 -I"C:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\include"    -I"C:/swarm/workspace/External-R-3.3.1/vendor/extsoft/include"     -O2 -Wall  -std=gnu99 -mtune=core2 -c cplexAPI.c -o cplexAPI.o
cplexAPI.c: In function 'addChannel':
cplexAPI.c:5198:5: warning: implicit declaration of function 'CPXaddchannel' [-Wimplicit-function-declaration]
     newch = CPXaddchannel(R_ExternalPtrAddr(env));
     ^
cplexAPI.c:5198:11: warning: assignment makes pointer from integer without a cast
     newch = CPXaddchannel(R_ExternalPtrAddr(env));
           ^
cplexAPI.c: In function 'delChannel':
cplexAPI.c:5234:5: warning: implicit declaration of function 'CPXdelchannel' [-Wimplicit-function-declaration]
     CPXdelchannel(R_ExternalPtrAddr(env), &delch);
     ^
c:/Rtools/mingw_64/bin/gcc -m64 -I"C:/PROGRA~1/MICROS~1/MRO-33~1.1/include" -DNDEBUG -g -D_R_=1 -DUSE_R=1 -I"C:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\include"    -I"C:/swarm/workspace/External-R-3.3.1/vendor/extsoft/include"     -O2 -Wall  -std=gnu99 -mtune=core2 -c cplexR.c -o cplexR.o
c:/Rtools/mingw_64/bin/gcc -m64 -I"C:/PROGRA~1/MICROS~1/MRO-33~1.1/include" -DNDEBUG -g -D_R_=1 -DUSE_R=1 -I"C:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\include"    -I"C:/swarm/workspace/External-R-3.3.1/vendor/extsoft/include"     -O2 -Wall  -std=gnu99 -mtune=core2 -c cplex_checkAPI.c -o cplex_checkAPI.o
c:/Rtools/mingw_64/bin/gcc -m64 -I"C:/PROGRA~1/MICROS~1/MRO-33~1.1/include" -DNDEBUG -g -D_R_=1 -DUSE_R=1 -I"C:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\include"    -I"C:/swarm/workspace/External-R-3.3.1/vendor/extsoft/include"     -O2 -Wall  -std=gnu99 -mtune=core2 -c cplex_longparamAPI.c -o cplex_longparamAPI.o
c:/Rtools/mingw_64/bin/gcc -m64 -I"C:/PROGRA~1/MICROS~1/MRO-33~1.1/include" -DNDEBUG -g -D_R_=1 -DUSE_R=1 -I"C:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\include"    -I"C:/swarm/workspace/External-R-3.3.1/vendor/extsoft/include"     -O2 -Wall  -std=gnu99 -mtune=core2 -c init.c -o init.o
c:/Rtools/mingw_64/bin/gcc -m64 -shared -s -static-libgcc -o cplexAPI.dll tmp.def cplexAPI.o cplexR.o cplex_checkAPI.o cplex_longparamAPI.o init.o -LC:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\lib -lm -lcplex1270 -LC:/swarm/workspace/External-R-3.3.1/vendor/extsoft/lib/x64 -LC:/swarm/workspace/External-R-3.3.1/vendor/extsoft/lib -LC:/PROGRA~1/MICROS~1/MRO-33~1.1/bin/x64 -lR
C:/Rtools/mingw_64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.3/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lcplex1270
collect2.exe: error: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package 'cplexAPI'
* removing 'C:/Users/zejas/Documents/R/win-library/3.3/cplexAPI'

我编辑Makevars.win

代码语言:javascript
复制
PKG_CPPFLAGS=-g -D_R_=1 -DUSE_R=1 -I"C:/PROGRA~1/IBM/ILOG/CPLEX_Studio127/cplex/include"
PKG_LIBS=-L"C:/PROGRA~1/IBM/ILOG/CPLEX_Studio127/cplex/include/lib" -lm -lcplex1270

我重建:

代码语言:javascript
复制
C:\Users\zejas>R CMD build --no-build-vignettes --no-manual  --md5 C:\Users\zejas\Desktop\cplexAPI\cplexAPI
* checking for file 'C:\Users\zejas\Desktop\cplexAPI\cplexAPI/DESCRIPTION' ... OK
* preparing 'cplexAPI':
* checking DESCRIPTION meta-information ... OK
* cleaning src
* checking vignette meta-information ... OK
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
* adding MD5 file
* building 'cplexAPI_1.3.2.tar.gz'
Warning: file 'cplexAPI/cleanup' did not have execute permissions: corrected
Warning: file 'cplexAPI/configure' did not have execute permissions: corrected

我试图安装:

代码语言:javascript
复制
C:\Users\zejas>"C:\Program Files\Microsoft\MRO-3.3.1\bin\x64\R.exe" CMD  INSTALL --build --no-multiarch .\cplexAPI_1.3.2.tar.gz
* installing to library 'C:/Users/zejas/Documents/R/win-library/3.3'
* installing *source* package 'cplexAPI' ...
** package 'cplexAPI' successfully unpacked and MD5 sums checked
** libs
c:/Rtools/mingw_64/bin/gcc -m64 -I"C:/PROGRA~1/MICROS~1/MRO-33~1.1/include" -DNDEBUG -g -D_R_=1 -DUSE_R=1 -I"C:/PROGRA~1/IBM/ILOG/CPLEX_Studio127/cplex/include"    -I"C:/swarm/workspace/External-R-3.3.1/vendor/extsoft/include"     -O2 -Wall  -std=gnu99 -mtune=core2 -c cplexAPI.c -o cplexAPI.o
cplexAPI.c: In function 'addChannel':
cplexAPI.c:5198:5: warning: implicit declaration of function 'CPXaddchannel' [-Wimplicit-function-declaration]
     newch = CPXaddchannel(R_ExternalPtrAddr(env));
     ^
cplexAPI.c:5198:11: warning: assignment makes pointer from integer without a cast
     newch = CPXaddchannel(R_ExternalPtrAddr(env));
           ^
cplexAPI.c: In function 'delChannel':
cplexAPI.c:5234:5: warning: implicit declaration of function 'CPXdelchannel' [-Wimplicit-function-declaration]
     CPXdelchannel(R_ExternalPtrAddr(env), &delch);
     ^
c:/Rtools/mingw_64/bin/gcc -m64 -I"C:/PROGRA~1/MICROS~1/MRO-33~1.1/include" -DNDEBUG -g -D_R_=1 -DUSE_R=1 -I"C:/PROGRA~1/IBM/ILOG/CPLEX_Studio127/cplex/include"    -I"C:/swarm/workspace/External-R-3.3.1/vendor/extsoft/include"     -O2 -Wall  -std=gnu99 -mtune=core2 -c cplexR.c -o cplexR.o
c:/Rtools/mingw_64/bin/gcc -m64 -I"C:/PROGRA~1/MICROS~1/MRO-33~1.1/include" -DNDEBUG -g -D_R_=1 -DUSE_R=1 -I"C:/PROGRA~1/IBM/ILOG/CPLEX_Studio127/cplex/include"    -I"C:/swarm/workspace/External-R-3.3.1/vendor/extsoft/include"     -O2 -Wall  -std=gnu99 -mtune=core2 -c cplex_checkAPI.c -o cplex_checkAPI.o
c:/Rtools/mingw_64/bin/gcc -m64 -I"C:/PROGRA~1/MICROS~1/MRO-33~1.1/include" -DNDEBUG -g -D_R_=1 -DUSE_R=1 -I"C:/PROGRA~1/IBM/ILOG/CPLEX_Studio127/cplex/include"    -I"C:/swarm/workspace/External-R-3.3.1/vendor/extsoft/include"     -O2 -Wall  -std=gnu99 -mtune=core2 -c cplex_longparamAPI.c -o cplex_longparamAPI.o
c:/Rtools/mingw_64/bin/gcc -m64 -I"C:/PROGRA~1/MICROS~1/MRO-33~1.1/include" -DNDEBUG -g -D_R_=1 -DUSE_R=1 -I"C:/PROGRA~1/IBM/ILOG/CPLEX_Studio127/cplex/include"    -I"C:/swarm/workspace/External-R-3.3.1/vendor/extsoft/include"     -O2 -Wall  -std=gnu99 -mtune=core2 -c init.c -o init.o
c:/Rtools/mingw_64/bin/gcc -m64 -shared -s -static-libgcc -o cplexAPI.dll tmp.def cplexAPI.o cplexR.o cplex_checkAPI.o cplex_longparamAPI.o init.o -LC:/PROGRA~1/IBM/ILOG/CPLEX_Studio127/cplex/include/lib -lm -lcplex1270 -LC:/swarm/workspace/External-R-3.3.1/vendor/extsoft/lib/x64 -LC:/swarm/workspace/External-R-3.3.1/vendor/extsoft/lib -LC:/PROGRA~1/MICROS~1/MRO-33~1.1/bin/x64 -lR
C:/Rtools/mingw_64/bin/../lib/gcc/x86_64-w64-mingw32/4.9.3/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lcplex1270
collect2.exe: error: ld returned 1 exit status
no DLL was created
ERROR: compilation failed for package 'cplexAPI'
* removing 'C:/Users/zejas/Documents/R/win-library/3.3/cplexAPI'

这些都是新的错误!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-01-12 17:09:05

对我来说,您已经将$标记留在了Makevars.win文件的路径前面。请尽量纠正以下情况:

代码语言:javascript
复制
PKG_CPPFLAGS=-g -D_R_=1 -DUSE_R=1 -I"C:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\include"
PKG_LIBS=-L"C:\Program Files\IBM\ILOG\CPLEX_Studio127\cplex\lib" -lm -lcplex1270

edit2:正如baydoganm所指出的,在cplex 1270中缺少两个功能。删除这些内容时,cplexAPI也可以使用windows进行编译:1.3.3.tar.gz

票数 2
EN

Stack Overflow用户

发布于 2017-01-18 06:34:28

我有完全相同的问题,无法找到安装软件包的方法,尽管尝试了所有类似于这里的帖子。我不确定这个问题是否与软件包发布后CPLEX中的版本更改有关。

编辑:我确认了这个问题。显然,可调用的库元素addchannel、delchannel以及其他几个元素在12.7版本中被删除。以下是链接:

12.7.0/ilog.odms.cplex.help/CPLEX/ReleaseNotes/topics/releasenotes127/removed.html

在包的一个源文件中,已经提到了“ILOG版本的( 12.1到12.6)”。

看来降级会有帮助的。

票数 2
EN

Stack Overflow用户

发布于 2017-12-06 11:43:01

在将CPLEX与R集成和安装cplexAPI包时,我遇到了类似的问题,请参阅https://cran.r-project.org/web/packages/cplexAPI/ --我正在做的错误很少,首先,问题的出现是因为R不知道在哪里安装了IBM,所以您必须手动更改在尝试从rstudio安装cplexAPI时下载的cplexAPI_1.3.3.tar.gz包中的文件Makevars.win。寻找以下代码:

代码语言:javascript
复制
PKG_CPPFLAGS=-g -D_R_=1 -DUSE_R=1 -I"${CPLEX_STUDIO_DIR}\cplex\include"
PKG_LIBS=-L"${CPLEX_STUDIO_LIB}" -lm -lcplex1261

您需要检查的两件事是-L"${CPLEX_STUDIO_LIB}"被替换为-L"C:/Program Files/IBM/ILOG/CPLEX_Studio1271/cplex/bin/x64_win64" (参见bin/x64_bin 64),也替换$

其次,在文件夹x64_win64中查找cplex12**.dll文件,这是-lcplex1261所指向的文件,这里手动将-lcplex1261更改为您的文件名(在我的例子中是cplex1271.dll,所以我将-lcplex1261更改为-lcplex1271,

同样,${CPLEX_STUDIO_DIR}必须由C:/Program Files/IBM/ILOG/CPLEX_Studio1271代替(在我的例子中)。

然后,按照https://www.r-bloggers.com/using-cplex-in-r-installing-cplexapi-in-windows-10/中给出的指令,使用以下命令(从命令行)重新打包和安装cplexAPI_1.3.3.tar.gz (确保安装了Rtools,并确保环境变量有指向R安装文件的路径,主要是通过R.exe和Rcmd.exe来运行命令),以及

代码语言:javascript
复制
R CMD build --no-build-vignettes --no-manual --md5 C:\Users{computer name here}\Desktop\cplexAPI

R CMD INSTALL --build --no-multiarch .\cplexAPI_1.3.3.tar.gz
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41618594

复制
相关文章

相似问题

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