致命错误:RcppEigen.h:没有这样的文件或目录

致命错误:RcppEigen.h:没有这样的文件或目录,r,rcpp,R,Rcpp,我对Rcpp和RcppEigen非常陌生,可能这就是我自己无法解决的原因: 我只想写一个C++函数,其中包含了特征库。为了测试它是否有效,我从以下示例中选取: 编译一个只有#include的脚本非常有效。 中的RcppEigen.h-文件位于/usr/local/lib/R/site library/RcppEigen/include目录中。我尝试用R CMD INSTALL…和INSTALL.package安装RcppEigen:两者都不起作用 我的秘书是 R version 3.0.2 (2

我对
Rcpp
RcppEigen
非常陌生,可能这就是我自己无法解决的原因:

<>我只想写一个C++函数,其中包含了特征库。为了测试它是否有效,我从以下示例中选取:

编译一个只有
#include
的脚本非常有效。 中的
RcppEigen.h
-文件位于
/usr/local/lib/R/site library/RcppEigen/include
目录中。我尝试用
R CMD INSTALL…
INSTALL.package安装
RcppEigen
:两者都不起作用

我的秘书是

R version 3.0.2 (2013-09-25)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C         LC_TIME=C            LC_COLLATE=C         LC_MONETARY=C       
 [6] LC_MESSAGES=C        LC_PAPER=C           LC_NAME=C            LC_ADDRESS=C         LC_TELEPHONE=C      
[11] LC_MEASUREMENT=C     LC_IDENTIFICATION=C 

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] RcppEigen_0.3.2.1.1 Rcpp_0.11.1        

loaded via a namespace (and not attached):
[1] Matrix_1.1-1.1  grid_3.0.2      lattice_0.20-27 tools_3.0.2    

谢谢你的帮助

您没有说如何编译函数。重要的是:

  • 在软件包中,使用
    链接至:RcppEigen

  • 在与Rcpp属性一起使用的函数中,使用适当的
    Rcpp::depends(RcppEigen)

这里有许多例子,在美国和其他地方。遵循他们,但要遵循所有步骤。现在,编译器告诉您,
RcppEigen
是未知的


我在第2章详细介绍了构建问题。

我修正了你的资本化。非常感谢你,德克。我使用Rstudio中的
Source
-按钮编译它。包括一行写着
/[[Rcpp::depends(RcppEigen)]的语句使它运行起来。我不知道我必须这样做。RccpEigen.h的源代码在哪里可以下载。希望是Fedora.fifth在谷歌搜索中的第五个热门:(没有涉及“for Fedora”,这只是一个.h文件-没有系统依赖项)。但是,如果您试图在不安装架构的情况下(通过遵循大量Rcpp文档)将各个部分组装在一起,那么您可能会遇到麻烦。。。
rcpp-test.cpp:2:23: fatal error: RcppEigen.h: No such file or directory
compilation terminated.
make: *** [rcpp-test.o] Error 1
g++ -I/usr/share/R/include -DNDEBUG    -I"/usr/local/lib/R/site-library/Rcpp/include"    -fpic  -O3 -pipe  -g  -c rcpp-test.cpp -o rcpp-test.o 
Error in Rcpp::sourceCpp("rcpp-test.cpp") : 
  Error 1 occurred building shared library.
R version 3.0.2 (2013-09-25)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C         LC_TIME=C            LC_COLLATE=C         LC_MONETARY=C       
 [6] LC_MESSAGES=C        LC_PAPER=C           LC_NAME=C            LC_ADDRESS=C         LC_TELEPHONE=C      
[11] LC_MEASUREMENT=C     LC_IDENTIFICATION=C 

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] RcppEigen_0.3.2.1.1 Rcpp_0.11.1        

loaded via a namespace (and not attached):
[1] Matrix_1.1-1.1  grid_3.0.2      lattice_0.20-27 tools_3.0.2