[英]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.