无法使用较新版本的 Rcpp 构建名称中带有点的包

Cannot build package with dot in the name with newer version of Rcpp

自从我将我的 Rcpp 版本更新为 0.12.11(我测试它适用于 0.12.10)我不能再构建我的包了。 实际上无法从 RStudio 创建一个名为 dot.test 的新包。

Updating dot.test documentation
Loading dot.test
Re-compiling dot.test
'/usr/lib64/R/bin/R' --no-site-file --no-environ --no-save --no-restore  \
  --quiet CMD INSTALL '/pxfs/data/statquant/public/dot.test'  \
  --library='/tmp/RtmpZARXxv/devtools_install_1ef63ab8fde6' --no-R --no-data  \
  --no-help --no-demo --no-inst --no-docs --no-exec --no-multiarch  \
  --no-test-load 

* installing *source* package ‘dot.test’ ...
** libs
g++ -m64 -I/usr/include/R -DNDEBUG  -I/usr/local/include -I"/lxhome/statquant/R/x86_64-redhat-linux-gnu-library/3.3/Rcpp/include"   -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  -c RcppExports.cpp -o RcppExports.o
RcppExports.cpp:20:46: error: ‘dot’ was not declared in this scope
     {"dot.test_rcpp_hello_world", (DL_FUNC) &dot.test_rcpp_hello_world, 0},
                                              ^

R> sessionInfo()
R version 3.3.0 (2016-05-03)
Platform: x86_64-redhat-linux-gnu (64-bit)
[...]
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
loaded via a namespace (and not attached):
[1] tools_3.3.0

R> system('which g++')
/opt/rh/devtoolset-3/root/usr/bin/g++
R> system('g++ --version')
g++ (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6)
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

如果可以理解 C++ 和带有 . 的包名称可能会提出问题 它没有被明确禁止(据我所知)。 有很多像 data.table 这样的包在名称中有一个点

那么我的问题是:

这是 Kirill 前几天(亲自)向我报告的一个错误,现在已在 GitHub 上提交...并且应该得到修复 "soon"。

查看 https://github.com/RcppCore/Rcpp/issues/721 了解更多信息和进度。

目前,快速修复是使用手动编辑的 src/init.c,直到 compileAttributes() 得到修复。