我会为缺乏一个可复制的例子(然而)事先道歉-如果没有这个答案这不是一个简单的答案,我明天就做一个(尽管由于问题的性质,我不确定这有多容易)。
首先,我的第一个RCPP代码项目正在运行!它的速度惊人,完全符合我的要求!感谢所有在这里帮助我的人,我很感激。
我的下一个任务是将此添加到包中。我一直在用
R包
哈德利·威克姆整理我的包裹,所以我用
roxygen2
和
devtools::document()
关于文件和一般检查,按照那本书。我翻到了编译代码一章。(
http://r-pkgs.had.co.nz/src.html
,以便于参考),并实现这些步骤。明确地:
-
我跑
devtools::use_rcpp()
设置包以使用RCPP。
-
我在包中的另一个函数中添加了适当的行。
-
我将函数为的文件复制到新的
src
目录。
然后我试图更新文档(
devtools::文档()
,我得到以下错误:
simulate_mean.cpp:2:44: fatal error: RcppArmadilloExtensions/sample.h: No such file or directory
#include <RcppArmadilloExtensions/sample.h>
^
我一直在搜索StackExchange,寻找类似的东西,看到一个旧的帖子,其中一条评论是必要的
// [[Rcpp::depends(RcppArmadillo)]]
在顶部(
Rcpp R sample equivalent from a NumericVector
)这对我来说不是问题-那行在正确的位置,没有多余的空间(我在StackExchange上发现的另一个问题)。
文件的前几行如下:
#include <RcppArmadilloExtensions/sample.h>
// [[Rcpp::depends(RcppArmadillo)]]
using namespace Rcpp;
(我看不出有什么问题,它在包外编译得很好)。
我的描述文件专门导入
Rcpp
和
RcppArmadillo
. 以下是相关章节:
Imports:
dplyr(>= 0.7.4),
purrr (>= 0.2.4),
Rcpp (>= 0.12.17),
RcppArmadillo (>= 0.8.600.0.0)
Suggests: mvtnorm (>= 1.0-6),
testthat
Encoding: UTF-8
LazyData: true
RoxygenNote: 6.0.1
License: MIT + file LICENSE
LinkingTo: Rcpp
作为故障排除的一部分,我已经更新了R和所有软件包,所以所有软件都使用最新版本。(我还尝试了Github版本的
devtools
,结果相同)。
有什么关于为什么
sample.h
无法使用找到扩展名
document()
?
事先谢谢!