首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rcpp:将包中的头包含到cppFunction中

Rcpp:将包中的头包含到cppFunction中
EN

Stack Overflow用户
提问于 2015-03-05 16:52:44
回答 1查看 968关注 0票数 1

我有一个使用Rcpp的包。它具有不同的C++函数定义的int src/testr.h。现在,我需要生成Rcpp函数(使用cppFunctioncxxfunction),这些函数使用src/testr.h中定义的内容。我怎么能这么做?

我试过了

代码语言:javascript
复制
> 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))

代码语言:javascript
复制
file7086270f0da.cpp:7:10: fatal error: 'testr.h' file not found
#include "testr.h"

     ^      
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-05 18:11:04

快速建议:

  1. 将标头移动到inst/include/testr.h
  2. 这需要一个src/Makevars条目(如PKG_CPPFLAGS = -I../inst/include )来查看编译。
  3. 现在,当包安装为,比方说,mypkg,您可以添加一个depends="mypkg",R将知道为您设置一个-I...

我们在BH和各种Rcpp*包中一直使用相同的技巧。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28883314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档