我找到了一个来自其他人的C ++库,它完全实现了我在R
中计算所需的内容。他们的库包含大约30个.cpp和.h文件,这些文件包含无数的依赖关系。他们的库还包含matlab的安装程序文件,但我想在R
中提供此库的功能。
首先,我考虑使用包sourceCpp
中的Rcpp
函数,但是它的文档说它只适用于独立文件。因此,我现在看到的唯一选项是遍历所述库中的所有文件,复制粘贴所有.cpp文件中的所有共享函数,这些文件利用它们获取独立的.cpp文件,然后sourceCpp
全部。有没有更好的方法可以在R
中使用完整,相互依赖的C ++库?
答案 0 :(得分:1)
是的,创建一个包。其中Rcpp.package.skeleton()
是非常好的第一步。
然后将所有源文件和标题文件放入src/
,R将知道如何完成剩下的工作。如果实际使用它们,则只需要在外部库上声明更多依赖项。
然后查看有关导出接入点的Rcpp Attributes小插图,这主要是您通过[[Rcpp::export]]
等已经执行的操作。