R包和CRAN检查中的TMB c ++代码

时间:2018-09-27 13:15:09

标签: c++ r rcpp tmb

我正在研究一个R包,以包括在TMB中创建的c ++模板。使用this suggestion中共享的有用指南,我设法走了很长一段路。

目前,我正在使用2个c ++模板(“ kglmer.cpp”和“ nglmer.cpp”)以及以下Makefile.win(以及等效的Makefile)创建dll:

all: kglmer.dll nglmer.dll

kglmer.dll: kglmer.cpp
    Rscript --vanilla -e "TMB::compile('kglmer.cpp', '-O1 -g',DLLFLAGS='')"
nglmer.dll: nglmer.cpp
    Rscript --vanilla -e "TMB::compile('nglmer.cpp', '-O1 -g',DLLFLAGS='')"

clean:
    rm -rf *o

但是,在运行CRAN检查(使用devtools::check())时,我收到以下警告:

checking if this is a source package ...
     Subdirectory '/src' contains apparent object files/libraries
     kglmer.dll nglmer.dll
Object files/libraries should not be included in a source package.

该问题似乎与无法正确清洁src文件夹有关。您对如何进行有任何建议吗?

1 个答案:

答案 0 :(得分:5)

clean目标应与all目标相匹配,即在Makefile.win中您应该拥有

clean:
    rm -rf *.dll