我有一个使用Rcpp
的软件包。它具有不同的C++
函数定义的int src/testr.h
。现在,我需要生成使用Rcpp
中定义的内容的cppFunction
函数(使用cxxfunction
或src/testr.h
)。我怎样才能做到这一点?
我试过了,
> cxxfunction(signature(x="list") includes = c('#include "testr.h"'), body=sprintf(template, name, name))
> Rcpp::cppFunction(depends = "testr", includes = c('#include "src/testr.h"'), sprintf(template, name, name))
但是
file7086270f0da.cpp:7:10: fatal error: 'testr.h' file not found
#include "testr.h"
^
答案 0 :(得分:2)
快速建议:
inst/include/testr.h
; src/Makevars
条目,例如PKG_CPPFLAGS = -I../inst/include
,以便在那里进行编译。mypkg
,您可以添加depends="mypkg"
,R会知道为您设置-I...
。我们一直使用相同的技巧 BH和各种Rcpp*
个包。