我正在为网络中的数据流制作R包。为了速度,一些代码是用C ++编写的,并且使用我自己的图算法实现。我想重新编写代码以使用Boost Graph Library。
我需要在Makevars文件中放置什么来设置编译器/链接器选项才能找到提升?对不起,我对Make不是很好。
我在Linux环境中工作
是的我查看了RBGL,但没有在该软件包中找到makefile
如果重要,我使用Rcpp来连接R和C ++代码
答案 0 :(得分:4)
这并不难。默认情况下,每个Rcpp包都有一个默认的src/Makevars
,其中包含
## Use the R_HOME indirection to support installations of multiple R version
PKG_LIBS = `$(R_HOME)/bin/Rscript -e "Rcpp:::LdFlags()"`
通过询问R动态找到Rcpp本身的库。您只需展开它并添加
-lboost_graph
(和/或可能是并行或mt变体)。如果他们安装在一个不寻常的地方,也要添加-L...
标志。 Dito for PKG_CFLAGS用于标题位置。
就是这样。有关构建R软件包的更多详细信息,请参阅Writing R Extensions
手册。