繁体   English   中英

当我在R中使用Rcpp时,包含boost的编译错误

[英]compile error with boost include when I using Rcpp in R

尽管我已经有了RTools和BH软件包,但出现了以下错误。 (我使用的是Win10 64位和R 3.5.1)

当我编译其他软件包时,Rtools效果很好。

我已经看过许多相关的问答,但无法解决此问题。

请帮助这个新手。

> sourceCpp('D:/Data/Drive/RCodes/scRNA-seq/TransSyn/TransSyn.cpp')
c:/Rtools/mingw_64/bin/g++  -std=gnu++11 -I"C:/PROGRA~1/R/R-35~1.1/include" - 
DNDEBUG   -I"C:/Users/CEO/Documents/R/win-library/3.5/Rcpp/include" - 
I"D:/Data/Drive/RCodes/scRNA-seq/TransSyn"        -O2 -Wall  -mtune=generic -c 
TransSyn.cpp -o TransSyn.o
TransSyn.cpp:5:37: fatal error: boost/functional/hash.hpp: No such file or 
directory
 #include <boost/functional/hash.hpp>
                                 ^
compilation terminated.
make: *** [C:/PROGRA~1/R/R-35~1.1/etc/x64/Makeconf:215: TransSyn.o] Error 1
Error in sourceCpp("D:/Data/Drive/RCodes/scRNA-seq/TransSyn/TransSyn.cpp") : 
  Error 1 occurred building shared library.
WARNING: Rtools is required to build R packages but is not currently installed. 
Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/

通过编译命令,我们可以了解到您没有包括BH包中的boost标头:

c:/Rtools/mingw_64/bin/g++  -std=gnu++11 -I"C:/PROGRA~1/R/R-35~1.1/include"
 -DNDEBUG   -I"C:/Users/CEO/Documents/R/win-library/3.5/Rcpp/include" 
 -I"D:/Data/Drive/RCodes/scRNA-seq/TransSyn"        -O2 -Wall  -mtune=generic -c
 TransSyn.cpp -o TransSyn.o

缺少-I"C:/Users/CEO/Documents/R/win-library/3.5/BH/include" 您可以通过添加来解决此问题

// [[Rcpp::depends(BH)]]

D:/Data/Drive/RCodes/scRNA-seq/TransSyn/TransSyn.cpp 当然,您必须确保已安装BH

暂无
暂无

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

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