在使用R CMD SHLIB
时,我在理解构建编译标志的步骤时遇到了很多麻烦。我使用以下内容:
~/.R/Makevars
中定义`CPPFLAGS = -O3'src/Makevars.win
中定义PKG_CPPFLAGS = -O3
第二步显然是多余的,但我这样做是为了防止PKG_CXXFLAGS
被初始化为不同的东西。
但是,当我运行R CMD SHLIB
时,我会找到-O3
个标记,但也会-UNDEBUG -Wall -pedantic -g -O0
。这些额外的旗帜可以从哪里来? Rcpp和RcppGSL能否以我无法通过Makevars.in控制的方式影响这些标志?
答案 0 :(得分:0)
对于每位用户或个人设置,我只使用~/.R/Makevars
,这会影响所有R CMD SHLIB
或R CMD COMPILE
来电,包括来自Rcpp的来电。
您还可以在每个项目的Makefile中定义它们,或者src/Makevars
,除了每个用户文件之外,您当然可以编辑系统范围的变体(这是让您感到困惑的其他值的地方)从)。请参阅后者的文件$R_HOME/etc/Makeconf
。
最后,DESCRIPTION
此处无关。