带c+的R包+;代码安装失败,未创建DLL 我目前正在研究一个R包,它使用C++代码并包括外部库(DLIB、Boost和在该组中开发的优化库)。我们使用RCPP来集成R和C++,但问题是包总是无法编译,并且我发现的类似问题都没有为我工作。

带c+的R包+;代码安装失败,未创建DLL 我目前正在研究一个R包,它使用C++代码并包括外部库(DLIB、Boost和在该组中开发的优化库)。我们使用RCPP来集成R和C++,但问题是包总是无法编译,并且我发现的类似问题都没有为我工作。,c++,r,dll,rcpp,C++,R,Dll,Rcpp,R CMD check生成的报告为: * installing *source* package 'IRTppExperimental' ... ** libs *** arch - i386 c:/Rtools/mingw_32/bin/g++ -std=c++0x -I"C:/PROGRA~1/R/R-33~1.1/include" -DNDEBUG -I"C:/Users/Camilo/Documents/R/win-library/3.3/Rcpp/include" -I"d:

R CMD check生成的报告为:

* installing *source* package 'IRTppExperimental' ...
** libs

*** arch - i386
c:/Rtools/mingw_32/bin/g++  -std=c++0x -I"C:/PROGRA~1/R/R-33~1.1/include" -DNDEBUG    -I"C:/Users/Camilo/Documents/R/win-library/3.3/Rcpp/include" -I"d:/Compiler/gcc-4.9.3/local330/include"  -I../src/include   -O2 -Wall  -mtune=core2 -c RcppExports.cpp -o RcppExports.o
c:/Rtools/mingw_32/bin/g++  -std=c++0x -I"C:/PROGRA~1/R/R-33~1.1/include" -DNDEBUG    -I"C:/Users/Camilo/Documents/R/win-library/3.3/Rcpp/include" -I"d:/Compiler/gcc-4.9.3/local330/include"  -I../src/include   -O2 -Wall  -mtune=core2 -c rcpp_hello_world.cpp -o rcpp_hello_world.o
c:/Rtools/mingw_32/bin/g++  -std=c++0x -I"C:/PROGRA~1/R/R-33~1.1/include" -DNDEBUG    -I"C:/Users/Camilo/Documents/R/win-library/3.3/Rcpp/include" -I"d:/Compiler/gcc-4.9.3/local330/include"  -I../src/include   -O2 -Wall  -mtune=core2 -c test_multi.cpp -o test_multi.o
c:/Rtools/mingw_32/bin/g++ -shared -s -static-libgcc -o IRTppExperimental.dll tmp.def RcppExports.o rcpp_hello_world.o test_multi.o -LC:/PROGRA~1/R/R-33~1.1/bin/i386 -lRlapack -LC:/PROGRA~1/R/R-33~1.1/bin/i386 -lRblas IRTppExperimental.dll -L../src/include -Ld:/Compiler/gcc-4.9.3/local330/lib/i386 -Ld:/Compiler/gcc-4.9.3/local330/lib -LC:/PROGRA~1/R/R-33~1.1/bin/i386 -lR
g++.exe: error: IRTppExperimental.dll: No such file or directory
no DLL was created
ERROR: compilation failed for package 'IRTppExperimental'
* removing 'C:/Users/Camilo/Documents/UNAL/MIRT/Tests/Temps/IRTppExperimental.Rcheck/IRTppExperimental'
Makevars/Makevars.win文件如下:

INCFOLDER = ../src/include
PKG_LIBS += $(LAPACK_LIBS) $(BLAS_LIBS) $(FPICFLAGS) $(SHLIB)
PKG_LIBS += -L$(INCFOLDER)
PKG_CXXFLAGS+=-I$(INCFOLDER)
CXXFLAGS+="-fno-stack-protector"
CXX_STD = CXX11
最后,名称空间文件读取:

exportPattern("^[[:alpha:]]+")
importFrom(Rcpp,sourceCpp)
useDynLib(IRTppExperimental)
<>所有的C++源文件都在SRC文件夹里面,包括外部库。包是使用Rcpp.package.skeleton函数创建的,并使用compileAttributes函数创建RcppExports源文件


编辑:正如Coatless所指出的,这里是项目的github链接:

请将代码推送到github。这是一个外部库问题,最终可能导致使用
configure.ac
。谢谢,Coatless。我刚刚用github的链接编辑了这篇文章。希望能有所帮助。