在R CMD SHLIB中构建标志

时间:2013-12-10 01:21:53

标签: r rcpp

在使用R CMD SHLIB时,我在理解构建编译标志的步骤时遇到了很多麻烦。我使用以下内容:

  • ~/.R/Makevars中定义`CPPFLAGS = -O3'
  • src/Makevars.win中定义PKG_CPPFLAGS = -O3
  • 在描述文件
  • 中包含Rcpp和RcppGSL作为依赖项

第二步显然是多余的,但我这样做是为了防止PKG_CXXFLAGS被初始化为不同的东西。

但是,当我运行R CMD SHLIB时,我会找到-O3个标记,但也会-UNDEBUG -Wall -pedantic -g -O0。这些额外的旗帜可以从哪里来? Rcpp和RcppGSL能否以我无法通过Makevars.in控制的方式影响这些标志?

1 个答案:

答案 0 :(得分:0)

对于每位用户或个人设置,我只使用~/.R/Makevars,这会影响所有R CMD SHLIBR CMD COMPILE来电,包括来自Rcpp的来电。

您还可以在每个项目的Makefile中定义它们,或者src/Makevars,除了每个用户文件之外,您当然可以编辑系统范围的变体(这是让您感到困惑的其他值的地方)从)。请参阅后者的文件$R_HOME/etc/Makeconf

最后,DESCRIPTION此处无关。