簡體   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