如何构建一个使用Rcpp和外部c ++库的R包?

时间:2013-09-02 10:04:22

标签: rcpp

如boost,我在哪里可以指定以下内容:

1.External c++ header file include path 
2.External c++ source file 
3.External c++ link library file path

2 个答案:

答案 0 :(得分:12)

中所述,这一切都进入src/Makevars

答案 1 :(得分:2)

德克的论文"Thirteen Simple Steps for Creating An R Package with an External C++ Library"给出了一个示例src/Makevars

CXX_STD = CXX11
PKG_CFLAGS = -I. -DGMP -DSKIP_MAIN
PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) -lgmpxx -lgmp

如您所见,此文件的PKG_LIBS中指定了其他库。 src/Makevars方法假定您使用Rcpp.package.skeleton()NAMESPACEDESCRIPTION等产生的标准包布局将C ++代码合并到项目中。

根据上述Dirk的评论,当使用sourceCpp函数合并C ++代码时,当前无法指定外部库,因为该函数提供了一个应该是多平台的接口。