无法在 R 下编译 Rcpp 0.12.6

Not able to compile Rcpp 0.12.6 under R

尝试使用 g++ 4.8.4 编译 Rcpp 12.6 时,出现以下错误消息:

error: expected initializer before ‘stop’

inline void noret stop(const std::string& message)

似乎无法在属性 NORET 上找到任何内容。

NORET 宏由 R 定义——但仅在 R 的最新版本中。当我们(和 CRAN)使用最新版本进行所有测试和构建时,这个问题就消失了。

此问题已报告为 issue #512 (as well as again in #516). It has already been addressed in the master branch as well as in an interim release 0.12.6.1 which you can obtain from the Rcpp drat 存储库。

否则,只需添加一个(空)#define NORET,或者更好的是,更新您的 R 版本。