最新版本的Rtools(3.1)似乎不包含支持C ++ 11的g ++版本。这有什么特别的原因吗?
答案 0 :(得分:10)
宝贵的志愿者时间,也许?
Rtools使用g ++ 4.6.2。由于R是C程序,因此使用R 完全没问题。
现在,我们中的许多人使用C ++和R(并且从Rcpp
标签判断,你也这样做),如果你想使用仅在g ++ 4.7,4.8中可用的功能,它确实会造成问题,当你实际上仅限于Windows时,AFAIK尚未发布4.9或等效的clang版本--- 和。
在Linux或OS X上,事情变得容易一些(虽然OS X在10.9版本发布后有其自己的问题,但它会越来越好)。
有人需要自愿提供更好/更新的MinGW,或付钱给某人提供。如果查看旧发布公告,Rtools编译器不会经常升级。据我所知,只有一名R核心成员参与其中。虽然那个特定的R Core成员非常了解C ++以及Windows上g ++编译器的状态,但他也是C程序员的主要成员...
答案 1 :(得分:10)
我将继续努力。在允许C ++ 11的Windows上设置工具可能会阻止Rcpp11的广泛采用。我肯定希望人们开始使用Rcpp11。我下周要为这个(以及其他一些东西)购买一个Windows盒子。
简而言之,我们需要一个至少基于gcc 4.8系列的Rtools版本。第一步是证明此版本从源代码成功构建了R。
可能有用的一点是开始使用C ++ 11向CRAN发布包。
答案 2 :(得分:0)
Rtools(gcc 4.6.3)附带的编译器足以运行Rcpp11开发版的测试套件,该版本使用了C ++ 11的各种功能。
有关不受支持的功能的详细信息here,但支持的子集已经感觉像C ++ 11。我不得不妥协(委托构造函数和模板别名)。他们使代码更好,但我们现在可以没有它们。