我正在研究一个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文件夹有关。您对如何进行有任何建议吗?
答案 0 :(得分:5)
clean
目标应与all
目标相匹配,即在Makefile.win
中您应该拥有
clean:
rm -rf *.dll